Sorry the solver code doesn't find difficult solutions. I thought it was a brute force approach which should solve anything.
I like the way you implemented the colors - toggling between numbers and colors.
For me, the editing of small numbers is quite useful. Your program, like all others, select candidates (small numbers) by eliminating any number already in the same row, column, or block. But there are other way of logically eliminating candidates. If I can edit your small numbers, I can reduce the set of candidates and sometimes see a result that would otherwise be obscured.
The other feature that makes solving puzzles less tedious is candidate filtering. Earlier I mentioned filtering on pairs (changing the background color of all cells with exactly two small numbers. A filter even more useful is the filtering of single numbers. For example, if I were filtering on two's then any cell with the number 2 as one of the small numbers would be highlighted. This makes it easy to spot single numbers that appear in only one row, column, or block.
I hate to keep putting forth my own preferences. I'm tempted to finish my own Sudoku program. I am sure there is zero demand for it but it is a good programming exercise and I could get it to work exactly the way I wanted. I did most of the UI a few months ago, and some of the program code. On the other hand, I don't want to compete with what you have written. It is a pretty nice program just the way it is!
-Dave
|