I spend a few days trying to implement an efficient algorithm for solving sudoku puzzles, it's done by using a recursive backtracking algorithm. After implementing a working algorithm I made a simple demo site to show the functionality. Please keep in mind that the demo site does not make any checks on input.

The demo site can be found here: http://gf.neo2k.dk/sudoku/index.html

The algorithm still needs some optimization and I'm working on that. It started out as an attempt to solve Project Euler's problem 96.

The code for the algorithm can be found on a git repository which can be found here: http://git.neo2k.dk/?p=sudoku-java.git

The algorithm itself is tested extensively with unit tests, the algorithm itself can be found here: http://git.neo2k.dk/?p=sudoku-java.git;a=blob;f=src/sudoku/lib/Solver.java

Ideas, comments and optimizations are welcome, in the repository there is a TODO-file with a list of the current planned optimizations. I will try to keep the demo site as up to date as possible without making any promises. Most of my code lately has been in C++ or Perl since I finished my exam on a main project for my AP graduate in Computer Science about 2 weeks ago.

Expect more more activity on this blog in the future.