Skip to content

Priyanshu147/Sudoku-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Sudoku Solver

This Java code defines a program for solving Sudoku puzzles. Sudoku is a logic-based number placement puzzle, where the goal is to fill a 9x9 grid with digits so that each column, each row, and each of the nine 3x3 subgrids (also known as regions or boxes) contain all of the digits from 1 to 9 without repetition.

Here's a breakdown of the code's main components and functionality:

  1. display method:

    • This method is responsible for displaying the current state of the Sudoku board.
    • It uses ANSI escape codes for terminal text coloration to make the output visually appealing.
    • It prints the Sudoku board, with each cell's value in either cyan or yellow color, separated by vertical and horizontal lines.
  2. solve method:

    • This is the main recursive method that attempts to solve the Sudoku puzzle.
    • It takes the current Sudoku board, row (i), and column (j) as parameters.
    • The method progresses through the grid, trying to fill in valid numbers (1-9) in empty cells.
    • If it successfully fills in the entire board, it prints the solution.
    • If the board cannot be solved, it backtracks by resetting a cell's value to 0 and continues exploring other possibilities.
  3. isValid method:

    • This method checks whether it's valid to place a number (val) in a specific cell (x, y) of the Sudoku board.
    • It checks three conditions: row, column, and subgrid (3x3 box). If the number already exists in any of these conditions, it returns false; otherwise, it returns true.
  4. main method:

    • The main method is the entry point of the program.
    • It initializes a 9x9 Sudoku board with a starting configuration. The provided example is a typical Sudoku puzzle.
    • Alternatively, you can uncomment a section of code to input the Sudoku puzzle from the console using a Scanner.
    • It displays the initial state of the Sudoku board and then calls the solve method to find a solution.
    • If a solution is found, it is printed. Otherwise, it prints "No solution possible" if no valid solution exists.

Overall, this code provides a Sudoku solver that uses a recursive backtracking algorithm to find the solution to the puzzle. It is capable of solving most standard Sudoku puzzles and provides a visual representation of the solved board using colored text.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages