(k=v=m=[$_] (t=[?3,?5]|[*?1..?9] 9.times{|j|t-=[v[k%10+10*j],v[k/10*10+j],v[h=k/30*30+k%10/3*3+j/3*10+j%3]]} t.map{|x|q=""+v q[k]=x m<<