Sudoku Solver
Explore techniques to solve Sudoku puzzles by filling empty cells in a 9x9 grid. Understand how to use backtracking and constraint programming to ensure each digit appears only once per row, column, and sub-box. This lesson helps you implement an algorithm that handles trial, error, and correction to complete the puzzle efficiently.
We'll cover the following...
Description
Write a program to solve Sudoku by filling the empty cells. We will be given a 2D array representing a Sudoku puzzle. For a correct solution each of the digits 1-9 must only occur once in each:
- Row
- Column
- Nine 3x3 sub-boxes of the grid
Let us take a look at an example:
To solve the puzzle, we will only fill the empty cells. Empty cells are represented by a ‘.’. The array will be passed by reference, so we will not need to return it after solving the puzzle.
Coding exercise
Solution
While solving Sudoku, we will have to take care of two things. First, we place a number at an empty place. The number must not be present in that row, column, or sub-box. So, we will use constrained programming to keep track of which number we can place in a box and which not. Second, let us assume that we have filled a few empty places but, the choice of numbers was not optimal, ...