I wrote a Java program to solve Sudoku puzzles. It uses a recursive brute-force algorithm to try all possible combinations.