
I’ve added some new solving techniques, a small puzzle database, and a rating system (not shown). I’ve also been doing some research, and discovered several other techniques I need to implement, though they are too esoteric to show up in the puzzles you would find in a newspaper. There is only one truly new technique since my last update: Owning Segment. The other new techniques are special-cases of existing ones. Owning Segment finds a 3-cell segment that must own a particular value and then removes that value from competing cells.
I cleaned up the solving code by making the solvers sort of pluggable, though I broke the step-and-highlight mode. I’d like to work on the display if I can get Swing to do what I want (component sizing seems to be tricky).
As you point out, the fun is in discovering ways to fill in cells that are more interesting than brute force or trial and error. I personally get frustrated when I get down to a subset of cells that seemingly can only be solved through T&E, and so far, I’ve found that the solution is actually to put the puzzle down for a while, because inevitably there was in fact a more elegant way to progress.
Given that it’s more fun than all-possible-candidates algorithms for human solvers, the Owning Segment algorithm is actually one that I use quite frequently when working on paper.
Another human solving technique is to pick a given cell whose row, column, and block are becoming well-populated, and determine all possible pencil marks for that cell; more often than the naîve solve would expect, there is a unique possibility. Obviously this is redundant for a computer that has already searched all possible pencil marks and filled in answers where there is a unique pencil mark, but for humans, that technique is tedious and boring. I wonder if for computers there might be some efficiencies to doing this all-possible-candidates search first on those cells where the possibilities are likely to be fewer rather than greater?
While we’re puzzling over the appeal of the puzzles, why do you suppose it is that none of the Sudoku game programs (I’ve tried about a dozen Palm apps) are as satisfying as good old paper and pencil?