Thanks for posting this Nick, I really enjoyed it!

I have not looked at your code yet but did you ever encounter a state where your program had to randomly choose between two values for a block in order to move forward (as a result of a lack of clues for example)? What about if that choice was wrong, and then backtracking and choosing the other value? Did you implement such a mechanism?

I suppose this solution is very applicable to Sudoku as well.

)

    Bennie van der Merwe

    Written by