>[...] > So that's why mine got better, but it was bad before. > I'd like to directly compare the speed of yours to mine on my machine, > but I can't get it to run correctly, It reports every board as UNSOLVABLE. > Has anyone else had any luck with it? Is it posiible that you use ruby 1.8.1 or older? If so, download a newer version :) or replace COMBINEDNEIGHBOURS[c].each{|i|possibilities[i].delete(v)} by COMBINEDNEIGHBOURS[c].each{|i|possibilities[i] -= [v]} I hope that helps (but makes it slower!) cheers Simon