Sudoku Programming with C teaches you how to write computer
programs to solve and generate Sudoku puzzles. This is a practical book
that will provide you with everything you need to write your own books
of Sudoku Classic and Samurai puzzles. But be warned: after reading it,
you'll discover that the puzzles in your local paper are not so
challenging after all!
We like Sudokus because they test our capacity to recognize and
interpret patterns. But how are the clues generated? Where do those
quasi-symmetrical configurations come from? When the author explored the
Web to find out, he discovered that there were many sites that explained
how to solve Sudokus, but none that told him how create them. He also
saw many sites and apps to play Sudoku, but, perhaps not surprising, no
indication of how they worked.
So, he had to develop his own applications in order to find out. And,
from the very start, he decided that he would publish the code for
anyone else to use and perhaps tinker with, but the author wrote it in
such a way that also lets readers with limited knowledge of programming
techniques understand it. In fact, you could decide to start generating
thousands of puzzles almost immediately, and go through the explanations
of algorithms and techniques later, a bit at a time. The author chose to
write the application in 'plain old C' because he wanted to make the
code accessible to as many people as possible.
In this book, you will find an explanation of all solving strategies,
and the code to implement them. Writing the Solver application was more
difficult than writing the Generator, because it required designing and
implementing each strategy separately. However, the author wanted to
include a solving program capable of listing the strategies necessary to
solve any particular puzzle. He also wanted to check whether a puzzle
was solvable analytically, without any guessing.
This book includes the full listings of both the Generator and the
Solver, and explanations of all C modules, with walk-throughs and
examples.