The "odometer" function, tries to solve the puzzle, by using
each square of the puzzle, like a wheel on your * Welcome to the
Details Pages * I began coding this program the same day I began
playing Sudoku for the first time. I've rewritten the first
couple of functions which were somewhat unclear. This was a
program of discovery for me, not a carfully designed algorithm I
was already familiar with. I wanted to include two things - an
odometer function, and a very fast function to solve the puzzle,
when desired. Three arrays of possibles are built up, for every
square - row, column, and box. These three array elements are
then compared. Only numbers that are in all three arrays, are
kept. The rest are deleted, since they can't be a valid number
for that square. Now the second phase begins. Squares with just
a single possible (solo's), are elevated to permanent status.
Every other square in that square's unit (row, column or box),
is checked to see if it's possibles need to be changed as a
result. Next, each u