Sudoku is the short of “suji wa dokushin ni kagiru (æ•°å—ã?¯ç‹¬èº«ã?«é™?ã‚‹),” meaning “the digits must remain single”. Its also called Nanpure (Number Place). Don’t mistaken this “Number Puzzle” for a magic square, it doest require adding, at the least maybe just counting. These numbers infact can be substitute with symbols, but digits are still the easiest way to represent 9 objects. The rule fill in digits so each digit(1-9) can only appear once in each row and column in the 9×9 grid, and each 3×3 subgrid. Most of the time you can solve the puzzle finding some pattern by observation.
The first encounter with sudoku The first time I saw of it was when I was reading Bittorrent’s creator Bram Cohen (cant remember was in his biography or interview about his Asperger’s Syndrome ) , when he found out he enjoy playing this game and hence learn about this puzzle.
As usual I learnt alot about the game from a wikipedia article on it.
Just as how Soduku popularise in many other countries, it became popular after appearing daily in Today Newspaper. I spend some fun time (or killing time) in camp solving the daily puzzle from copies of Today’s newspaper my campmate brings.
I believe this topic attract a considerable interest in the programming world, i decide to give a try at it too.. While I didnt do much well, the web provides lots of methods and implementations.
Then came my idea of using my mobile phone to play and solve it. Maybe it was just an idea to show off how my mobile phone can solve a puzzle when the rest are scribbling with pen and paper. So I I decided to create a Sudoku Puzzle Solver midlet for my Nokia 3120 Symbian series 40 phone.
What I use is a port/modification of Stan Chesnutt’s Java implementation/library of Knuth’s Dancing Links Method (see his university research paper)
Its interesting to know that Donald Knuth’s Dancing Links Algorithm uses his Algorithm X method. Dancing links seems to be the most efficient and organised way to find all solutions to a sudoku puzzle. Its uses boolean matrix of up to 700+rows and 500+columns. The operation on the matrix will be the algo x, where trys to solve cover leaf problems in the most efficient way. Here’s also another link for a comparision of dancing links implementations.
Anyway here’s the download to my initial version of my sudoku solver.
I thought at first maybe this sudoku was the only version for mobile phones around (at least free) but I found myself wrong after looking up getjars.com.. Happy Sudoku-ing on your mobile phone!


Recent Comments