Closed
Conversation
Owner
|
Well @shafaq16 Star the repo ⭐...Happy HAcktober... keep contributing |
Owner
Contributor
Author
|
hey @SjxSubham pls assign this to me as you told me before to solve this one |
Contributor
Author
|
Hey @SjxSubham kindly check my pr #63 under #51 problem |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Approach: Backtracking
I use a backtracking algorithm to fill the empty cells ('.') one by one with digits '1' to '9'.
For each empty cell, try all possible digits.
Before placing, check if it's valid (row, column, and 3×3 subgrid rules).
If valid → place it, then recursively try to solve the rest.
If no digit works → backtrack (undo placement and try another option).
If all cells are filled correctly → solution is found.
This ensures we systematically explore possibilities until we reach the correct valid Sudoku configuration.
Intuition
Think of Sudoku solving as filling a puzzle step by step with trial and error:
Whenever you see an empty cell, you test numbers just like a human would.
If the number violates Sudoku rules, skip it.
If a number works, assume it’s correct and move forward.
If later you hit a dead-end, backtrack to the previous step and try another option.
This mimics how humans solve Sudoku, but the computer does it exhaustively and efficiently.
Solution in Code (C++)