Today I have completed the minimum functionality so I have decided to unveil the first version of this program so that some of you sudoku-addicts can test it. WARNING: If you are not a sudoku addict, then don't even try it! Sudokus are much like smoking; you cannot stop doing it after some tries, but in this case the addiction is nearly instantaneuos and no initial cough is needed.
The algorithm used to solve sudokus is very elemental and can only solve those of them containing strictly Single Candidates and/or Unique Candidates. My aim is not to become a sudoku guru but rather to improve my C++ programming skills. But don't worry, because most of the sudokus found in the newspapers are of those types ;-).
The algorithm to create Sudokus uses ctime, srand() and rand() functions for the pseudo-random number generator, and it creates sudokus with the requested number of filled cells, and the rest in blank. When it find one it can solve, then returns it, so it will return relatively easy to solve sudokus.
Both things -the solver and the generator - are encapsulated in a pair of cpp + h files, and the executable by now is only a show case; it creates a random game, shows it, and if you press <Enter> shows the solved one. Finally, if you press <Enter> one more time the program exits. Of course, each time it you execute it sudokizer shows you a different game!
Currently it's only available in SVN and it has only been tested in Linux so far. It doesn't compile in Windows because I don't even have it installed in my system and I call to clear command meanwhile Windows has cls, but probably once sduokizer gets a nice Qt user interface I will make it compile in that platform. It should compile and install in any system with a compiler and with scons installed. The download command is:
svn checkout svn://svn.berlios.de/avd/trunk/others/sudokizer
Read the INSTALL file for installation instructions, and enjoy it ;-).