Write a program to solve a Sudoku puzzle by filling the empty cells. A sudoku solution must satisfy all of the following rules:
-
Each of the digits
1-9
must occur exactly once in each row. -
Each of the digits
1-9
must occur exactly once in each column. -
Each of the digits
1-9
must occur exactly once in each of the 9 3x3 sub-boxes of the grid.
Problem Note:
-
The given board contains only digits 1-9 and the character
'.'
. - Empty cells are shown by the character ' . '
- You may assume that the given Sudoku puzzle will have a single unique solution.
- The board size is always 9x9.
Example
Input: A given sudoku puzzle:

Output: Solution numbers are marked in blue.
