OVERVIEW:
Sudoku is one of the most popular puzzle of all time.The goal of Sudoku is to fill 9x9 grid such that each row,each column and 3x3 grid contains all of the digits between 1 to 9. In this project we aim to create a real time Sudoku solver which recognise the elements of Sudoku puzzle and providing a digital solution using Recursion and Backtracking.
Backtracking Algorithm: Backtracking is a general algorithm for finding all (or some) solutions to some computational problems, notably constraint satisfaction problems, that incrementally builds candidates to the solutions, and abandons a candidate ("backtracks") as soon as it determines that the candidate cannot possibly be completed to a valid solution. This includes a recursive function call.
Functions in the project: (i) SolveSudoku() - It takes the input matrix and checks for each position if the number to place in it is valid or not. for checking the validity we have one more function isValid(). ii) isValid() - It checks if the number to be placed in the matrix is valid for that particular position or not. finally, (iii) Display() - The program then comiles the array and displays the output on the screen along with existing input sudoku grid. It also displays the solved grid on the screen.
Software Used for implementation - VScode Language - C++.