/sudoku

Cleanroom / blackbox sudoku solver

Primary LanguageC

Usage:
% sudoku [options ...] -path <pathname for boards> -if <input file> -of <output file> -b <board root fname>

OPITONS:
  -d          : increase the debug level
  -r <n>      : max recursion depth for brute-force guessing. 3 seems like a good number.
  -b <fnroot> : set root filename for boards (default is 'b1').
  -p <path>   : set path to boards directory (default is 'boards')
  -if <fn>    : set input board filename explicitly (default is path/fnroot)
  -of <fn>    : set output board filename explicitly (default is path/fnroot.out)

EXAMPLE: ./sudoku -r 3 -b tough_one
EXAMPLE: ./sudoku -if puzzle27.in -of xxx.out

TODO:
* add an ascii doc or other readme page.
* fix the ridiculous Makefile
* beef up the runall script
* get it to solve evil2
* massive code cleanup
* ruby version
* golang version
* add a UI
* more flexible input format (e.g. '.' instead of '0' for starters)
* better complexity measurements
* ability to generate puzzles of a given complexity