Show all grid edges
Do not crop off the outer border or any row and column.
Free tool / Per sudoku su carta
The Risolutore di sudoku From Photo transcribes printed 9×9 grids (81 cells across nine 3×3 boxes) via on-device OCR and solves them by constraint propagation and exact cover, returning either a single explained Naked/Hidden Single hint or the unique 81-digit solution. Photograph a printed 9×9 Sudoku, review the digits, then ask for one logical move or reveal the complete grid.
Scan puzzle
Keep all four corners visible, hold the page flat and avoid shadows across the digits.
Recognized grid
Pronto
Tap any cell and type its given digit.
Paper photo tips
Do not crop off the outer border or any row and column.
Erase candidate notes when possible or confirm every recognized given.
The editable grid prevents one misread newspaper digit from corrupting the answer.
Algorithm, Formula & Worked Example
A standard 9×9 Sudoku is an exact-cover constraint satisfaction problem over 81 cells and 324 binary constraints: every cell holds one digit d ∈ {1..9}, and each of the 9 rows, 9 columns, and 9 boxes (3×3) contains each digit 1 through 9 exactly once, summing to 45 per unit (405 across the whole board).
Let binary indicator x[r, c, d] ∈ {0, 1} equal 1 when cell (r, c) (with r, c ∈ {1..9}) is assigned digit d ∈ {1..9}, and let Peer(r, c) denote the 20 peer cells sharing row r, column c, or 3×3 box b = 3·⌊(r-1)/3⌋ + ⌊(c-1)/3⌋ + 1:
∀ r, c ∈ {1..9}: ∑_{d=1..9} x[r, c, d] = 1∀ r, d ∈ {1..9}: ∑_{c=1..9} x[r, c, d] = 1∀ c, d ∈ {1..9}: ∑_{r=1..9} x[r, c, d] = 1∀ b, d ∈ {1..9}: ∑_{(r,c) ∈ Box(b)} x[r, c, d] = 1Cand(r, c) = {1..9} \ { grid[r', c'] : (r', c') ∈ Peer(r, c) }. Whenever |Cand(r, c)| = 1, that single digit is immediately forced.Suppose you scan a newspaper Sudoku where Row 1 has 8 given digits [5, 3, _, 6, 7, 8, 9, 1, 2] and Center Cell R5C5 (Box 5) sees the peer digits {1, 2, 4, 5, 6, 7, 8, 9} across Row 5, Column 5, and Box 5:
5 + 3 + 6 + 7 + 8 + 9 + 1 + 2 = 41. Subtracting from the unit total 45 - 41 = 4 forces R1C3 = 4 (Cand(1, 3) = {4}).{1, 2, 4, 5, 6, 7, 8, 9} from {1..9} leaves Cand(5, 5) = {3}. Clicking Dammi un indizio highlights Row 5, Column 5 → Place 3 (Naked Single) without spoiling the rest of the 81-cell grid.| Metric / Solving Stage | Grid Scope (Cells / Units) | Mathematical Threshold / Count | Candidate Condition | Solver Output / Action |
|---|---|---|---|---|
| Board Dimensions | 9 rows × 9 columns × 9 boxes (3×3) | 81 cells total; 27 units; 324 constraints | Each cell belongs to 3 units and sees 20 peers | Validates 0 duplicate digits across all 27 units |
| Minimum Givens for Uniqueness | Whole 9×9 grid (81 cells) | ≥ 17 given digits (typical print: 22–36 givens) | Fewer than 17 givens always yields ≥ 2 solutions | Flags under-constrained scans with multiple solutions |
| Unit Sum Invariant (Rule of 45) | Any 1 row, 1 column, or 1 box (9 cells) | ∑_{i=1..9} d_i = 45 (9 × 45 = 405 total) |
8 known digits in a unit fix the 9th digit as 45 - ∑ |
Immediate single-cell completion |
| Naked Single (Stage 1 Hint) | 1 unresolved cell (r, c) |
|Cand(r, c)| = 1 (8 digits eliminated by peers) |
Only 1 legal digit d ∈ {1..9} remains in cell |
Hint names cell coordinate (r, c) and forced digit d |
| Hidden Single (Stage 2 Hint) | 1 row, column, or 3×3 box (9 cells) | ∑_{(r,c) ∈ Unit} [d ∈ Cand(r, c)] = 1 |
Digit d fits in only 1 cell of that unit |
Hint identifies the unit and places digit d |
| MRV Exact-Cover Search (Stage 3) | All remaining unresolved cells | Branches on cell with minimum |Cand(r, c)| ≥ 2 |
Propagates constraints until all 81 cells are filled | Reveals verified 81-digit solution or reports conflict |