Ese era el punto

(tengo que trabajar en mis respuestas).
Puede que no sea la mejor solución pero lo que puedes hacer es generar miles de sudokus que tengan las características de ser difícil (esto definido por reglas básicas, como el número de números usados en una fila), lo guardas en una base de datos y compruebas con uno de esos algoritmos de Wikipedia. Si el sudoku tiene más de una respuesta... lo borras.
Hmmm... aunque en el último enlace que Uriel pone dice:
Citar:
Sudoku player that offers a board, assistance and finding more than 1 solution using a (text based) ANSI screen.Added is also a sudoku generator, producing the single solution sudoku type
¡Y está hecho en Perl!