Hi, Thanks for another quiz. I read it and thought "that looks difficult and ugly", but I had a little spare time, and, to my own surprise, was able to solve it rather quickly. My naive solution just makes big nested loops over the domains of all the variables, so it's not going to solve a sudoku this century, but you wouldn't have to change the constraint code to speed it up - the engine can be fixed keeping the same interface. The interface is DSP-ish and blocky as seems to be the fashion in Ruby these days. Here's N-Queens (n=4 so it works with my naive constraint processor): http://www.dave.burt.id.au/ruby/constraints/nqueens.rb And here's the thing itself: http://www.dave.burt.id.au/ruby/constraints/constraint_processor.rb Cheers, Dave