Recursive Brute Force Algorithm

  1. Find all empty cells
  2. Check for each cell the valid numbers
  3. Sort them on the cell with less possible combinations (and start from there)
  4. Select the top cell (with the less combinations)
  5. Make copies of the sudoku board fillin the value and for each combination and start execute #1 on each board