From: "studlee2@..." Date: 2006-07-16T02:10:07+09:00 Subject: Re: Who likes Sudoku? This is a little smaller. $p = ARGV.shift.split(//) def s h = Hash.new() 80.times do |j| next if $p[j].to_i != 0 80.times {|k| h[k.to_i / 9 == j / 9 ||k.to_i%9 == j%9 || k.to_i / 27 == j / 27 && k.to_i%9/3 == j%9/3 ?$p[k.to_i]:0] = 1} 10.times {|v| next if v==0 || h.has_key?(v.to_s); $p[j] = v.to_s; s} return $p[j] = 0; end return (puts "\nSolution:#{$p}" ) end s