-sudokulib is a collection of tools that are useful for generating solutions to

-Sudoku puzzles. It uses a recursive backtracking algorithm (originally

-written by Jeremy Brown, Cel Destept), and is capable of generating a 3x3

-Sudoku in ~0.015 seconds. It can also generate 4x4 Sudokus in ~0.100 seconds

-Some 5x5 grids have been generated in a matter of seconds using this library,

-but I've also seen the program run for hours without successfully generating

-a 5x5. Anything beyond 5x5 always seems to take a long time.

-You can solve Sudoku puzzles using this library by calling the ``init_grid``

-method of an instance of ``Sudoku``. This method takes two types of values.

-Where ``n`` is the grid size:

-* a 1-dimensional list with n^4 values

-* a multi-dimensional list with n^2 lists with n^2 values each. Each list

- represents a row in the grid

-The values in the list(s) provided to ``init_grid`` must be numeric and

-greater than 0 but less than n^2 in order to appear in the starting grid. Any

-other values will be ignored, and the puzzle will be solved with no

-consideration for such values.

-The library also provides utilities for generating starting grids, so you can

-play Sudoku instead of just generating solutions. There are several difficulty

-Also included in the distribution is a sample class for generating "jigsaw"

-variations of Sudoku. This class will occasionally generate solvable grids

-within a second or two, but it takes much longer more often than not.

-Another variation of Sudoku, called Hyper Sudoku, can be found in hyper.py.

-This one involves four additional regions inside the grid. See the entry

-for Sudoku on Wikipedia for an image of Hyper Sudoku.