
Sudoku Solver (hard)
Problem Statement
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.
The '.' character indicates empty cells.
Example 1:
Input:
{'5', '3', '.', '.', '7', '.', '.', '.', '.'},
{'6', '.', '.', '1', '9', '5', '.', '.', '.'},
{'.', '9', '8', '.', '.', '.', '.', '6', '.'},
{'8', '.', '.', '.', '6', '.', '.', '.', '3'},
{'4', '.', '.', '8', '.', '3', '.', '.', '1'},
{'7', '.', '.', '.', '2', '.', '.', '.', '6'},
{'.', '6', '.', '.', '.', '.', '2', '8', '.'},
{'.', '.', '.', '4', '1', '9', '.', '.', '5'},
{'.', '.', '.', '.', '8', '.', '.', '7', '9'}
Output:
{'5'', '3'', '4'', '6'', '7'', '8'', '9'', '1'', '2''},
{'6'', '7'', '2'', '1'', '9'', '5'', '3'', '4'', '8''},
{'1'', '9'', '8'', '3'', '4'', '2'', '5'', '6'', '7''},
{'8'', '5'', '9'', '7'', '6'', '1'', '4'', '2'', '3''},
{'4'', '2'', '6'', '8'', '5'', '3'', '7'', '9'', '1''},
{'7'', '1'', '3'', '9'', '2'', '4'', '8'', '5'', '6''},
{'9'', '6'', '1'', '5'', '3'', '7'', '2'', '8'', '4''},
{'2'', '8'', '7'', '4'', '1'', '9'', '6'', '3'', '5''},
{'3'', '4'', '5'', '2'', '8'', '6'', '1'', '7'', '9''}
Explanation: The given output is the only valid Sudoku solution.
Constraints:
board.length == 9board[i].length == 9board[i][j]is a digit or '.'- It is guaranteed that the input board has only one solution.
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory