

If no, I increment the value by 1, until I find a digit that works, or if none of them work (1 through 9), I go back 1 step to the last value that I adjusted and I increment that one (using recursion). And check for any conflicts (whether the value i entered is valid or not). I go down the array until i find a Blank (unfilled value), and set it to 1. I load the values in, from the file, and stored them in a 2-D array By my own convention, the upper left square of 7 is written as 007. My program reads in the puzzle coordinates from a file that has one line for each given digit, consisting of the row, column, and digit. At the end, one of three possible outcomes happens: the puzzle is not solvable at all, the puzzle has a unique solution, or the puzzle has multiple solutions. Once i found one solution, i'm not necessarily done, need to continue to explore for further solutions. So i basically read in a given puzzle, and solve it. My strategy employs backtracking to determine, for a given Sudoku puzzle, whether the puzzle only has one unique solution or not. I wrote a sudoku solver using java, without efficiency in mind (I wanted to try to make it work recursively, which i succeeded with!) I'm look for the "how do you find it" because I have no idea how to approach finding the algorithm complexity of my program.
