This page describes a Groovy solution for ShortestSudokuSolver. Check the link for all the details, but basically the puzzle state is fed in as a String. Each line of the script must be no more than 80 characters in length.
The solution (184 characters plus 2 newlines):
Notes:
println rather than print if you are fussy about the formattingelse becomes {print a;System.exit(1)}Add the following line to the script to solve a partially complete puzzle (should take just a few seconds):
Alternatively, add the following line to the script to solve a puzzle from scratch (may take 30-60 minutes or more):
The expected output is:
Here is the more usual representation of the puzzle:

You can run it from the command-line by adding ;r args[0] to the end of the script (saved in a file called sudoku.groovy) and then invoking:
If you use '.groovy' as your script file extension, you can even leave off the extension as follows:
A slightly longer version using a matcher and no inner closure (209 characters plus 2 newlines):
Or without the matcher (193 characters plus two newlines):
Also see another version for a more understandable (though much longer) algorithm - but it also does a lot more.