Information

Sudoku is a number-placement puzzle.

The goal of this challenge is to write a sudoku solving algorithm.

Step 1, Solve sudoku

The application will send you 3 different puzzles with form of two-dimensional array.

Solve those puzzles through the "solve" function.

Step 2, Explain your code

In answer.md write a brief explanation about how your code works and how you solved any problems which you've encountered.

Notes

Sudoku rules

Sudoku is a puzzle made out of 9x9 matrix. We also have 9 sub-grids which are made of 3x3 cells. A valid sudoku contains the numbers 1-9 each 9 times while not breaking one simple rule: "A sub-grid, column or row can only contain each number once".

You can find more details in Wikipedia.

Sudoku solution

Some sudoku has multiple solutions, but all of puzzles we provide have a unique solution.

You can run test with go test command.

Puzzle 1

         
  98 51  
 519 742 
29 4 1 65
         
14 5 8 93
 267 958 
  51 36  
         

Puzzle 2

  3 2 6  
9  3 5  1
  18 64  
  81 29  
7       8
  67 82  
  26 95  
8  2 3  9
  5 1 3  

Puzzle 3

9 42    7
 1       
   7 65  
   8   9 
 2 9 4 6 
 4   2   
  16 7   
       3 
3    57 2