It is called HoDoKu, written in Java/Swing (JRE 1.6 or greater) and should therefore run on any OS that is supported by Java (tested on Windows and Linux - Ubuntu/GTK+LAF). It is available in English and German, is licensed under the GPL, and can be downloaded from http://hodoku.sourceforge.net.
Supported solving techniques:
- Singles
Locked Candidates
Subsets
Fish (basic/franken/mutant unfinned/finned/sashimi with endo fins and cannibalism)
Wings (XY, XYZ, W)
Uniqueness (Type 1-6, Hidden/Avoidable Rectangle, BUG+1)
Coloring (Simple/Multiple Colors)
2-String-Kite, Skyscraper, Empty Rectangle, Sue de Coq
Chains (Remote Pair, X-Chain, XY-Chain; Nice Loops/AIC and Forcing Chain/Net with group nodes and ALS)
ALS (XZ, XY, ALS-Chains)
Templates
Brute Force (thank's to gsf for letting me use his code)
The main goal however lies not in solving the sudoku but in analyzing it (meaning: playing around with different solution paths). It is possible to manage multiple solution paths simultaneously for one sudoku via an easy to use GUI. For every solution path the puzzle can be brought to a certain state by double clicking a step of the solution. It is possible to list all available steps for a given state and to modify the solution path accordingly. The sudoku including all solution paths can be saved to disk.
HoDoKu has a lot of configuration options, configurations can be saved to disk too. Import/export via the clipboard supports most formats seen in the forums.
The generator produces random sudokus in one of five difficulty levels. The levels can be freely configured. The puzzles are symmetrical, but not minimal, minlex canonicalization is not supported.
Any input is most appreciated.
[edit: added link to project home page]