Daily Sudoku — 30 June 2026

The puzzle

  • 30 June 2026
  • Hard
  • 30 clues
Puzzle
7·3·8··5·
9······81
·8·9···2·
8·4·3·2··
···2·7···
··7·6··3·
···6·8··5
69··7··42
3····2·9·
Solution
723481956
956723481
481956723
864539217
539217864
217864539
142698375
698375142
375142698

Solve it in the app to get on the board

Step-by-step solution

Every cell below is filled by the same hint engine the app uses, in the order it can be deduced — 51 steps using 7 techniques.

Techniques used

  • Hidden Single — inside one row, column or box this digit fits in only one cell, so it must go there
  • Locked Candidates (pointing/claiming) — a digit inside a box is confined to one row or column, so it is eliminated from the rest of that row or column
  • Naked Single — every other digit is already used in this cell's row, column or box, so only one candidate is left
  • W-Wing — two cells with the same pair, linked by a strong link, guarantee one of them is a; a is eliminated from cells seeing both
  • Finned X-Wing — an X-Wing with one extra cell (the fin) confined to a box; the digit is eliminated only where the pattern and the fin both see it
  • XY-Wing — a pivot with two pincers guarantees one digit lands in one of the pincers, so it is eliminated from any cell that sees both
  • Skyscraper — two columns (or rows) each hold a digit in exactly two places with their feet aligned; at least one roof holds the digit, so it is eliminated from cells that see both roofs
  1. R2C5 = 2 · Hidden SingleIn the top-centre 3×3 box, 2 fits in only one cell. Looking at the other empty cells:- Because column 4 already has a 2, R1C4 and R2C4 cannot hold 2.- Because column 6 already has a 2, R1C6 and R2C6 cannot hold 2.- Because row 3 already has a 2, R3C5 and R3C6 cannot hold 2.So 2 must go in R2C5.
  2. R1C2 = 2 · Hidden SingleIn the top-left 3×3 box, 2 fits in only one cell. Looking at the other empty cells:- Because row 2 already has a 2, R2C2 and R2C3 cannot hold 2.- Because row 3 already has a 2, R3C1 and R3C3 cannot hold 2.So 2 must go in R1C2.
  3. R2C4 = 7 · Hidden SingleIn the top-centre 3×3 box, 7 fits in only one cell. Looking at the other empty cells:- Because row 1 already has a 7, R1C4 and R1C6 cannot hold 7.- Because column 6 already has a 7, R2C6 and R3C6 cannot hold 7.- Because column 5 already has a 7, R3C5 cannot hold 7.So 7 must go in R2C4.
  4. R6C1 = 2 · Hidden SingleIn the middle-left 3×3 box, 2 fits in only one cell. Looking at the other empty cells:- Because row 4 already has a 2, R4C2 cannot hold 2.- Because row 5 already has a 2, R5C1, R5C2 and R5C3 cannot hold 2.- Because column 2 already has a 2, R6C2 cannot hold 2.So 2 must go in R6C1.
  5. R5C2 = 3 · Hidden SingleIn the middle-left 3×3 box, 3 fits in only one cell. Looking at the other empty cells:- Because row 4 already has a 3, R4C2 cannot hold 3.- Because column 1 already has a 3, R5C1 cannot hold 3.- Because column 3 already has a 3, R5C3 cannot hold 3.- Because row 6 already has a 3, R6C2 cannot hold 3.So 3 must go in R5C2.
  6. R5C3 = 9 · Hidden SingleIn the middle-left 3×3 box, 9 fits in only one cell. Looking at the other empty cells:- Because column 2 already has a 9, R4C2 and R6C2 cannot hold 9.- Because column 1 already has a 9, R5C1 cannot hold 9.So 9 must go in R5C3.
  7. R4C2 = 6 · Hidden SingleIn the middle-left 3×3 box, 6 fits in only one cell. Looking at the other empty cells:- Because column 1 already has a 6, R5C1 cannot hold 6.- Because row 6 already has a 6, R6C2 cannot hold 6.So 6 must go in R4C2.
  8. R6C4 = 8 · Hidden SingleIn the centre 3×3 box, 8 fits in only one cell. Looking at the other empty cells:- Because row 4 already has a 8, R4C4 and R4C6 cannot hold 8.- Because column 5 already has a 8, R5C5 cannot hold 8.- Because column 6 already has a 8, R6C6 cannot hold 8.So 8 must go in R6C4.
  9. R7C3 = 2 · Hidden SingleIn the bottom-left 3×3 box, 2 fits in only one cell. Looking at the other empty cells:- Because column 1 already has a 2, R7C1 cannot hold 2.- Because column 2 already has a 2, R7C2 cannot hold 2.- Because row 8 already has a 2, R8C3 cannot hold 2.- Because row 9 already has a 2, R9C2 and R9C3 cannot hold 2.So 2 must go in R7C3.
  10. R7C5 = 9 · Hidden SingleIn the bottom-centre 3×3 box, 9 fits in only one cell. Looking at the other empty cells:- Because row 8 already has a 9, R8C4 and R8C6 cannot hold 9.- Because row 9 already has a 9, R9C4 and R9C5 cannot hold 9.So 9 must go in R7C5.
  11. R7C7 = 3 · Hidden SingleIn row 7, 3 fits in only one cell. Looking at the other empty cells:- Because column 1 already has a 3, R7C1 cannot hold 3.- Because column 2 already has a 3, R7C2 cannot hold 3.- Because column 8 already has a 3, R7C8 cannot hold 3.So 3 must go in R7C7.
  12. R3C9 = 3 · Hidden SingleIn the top-right 3×3 box, 3 fits in only one cell. Looking at the other empty cells:- Because row 1 already has a 3, R1C7 and R1C9 cannot hold 3.- Because column 7 already has a 3, R2C7 and R3C7 cannot hold 3.So 3 must go in R3C9.
  13. R2C6 = 3 · Hidden SingleIn the top-centre 3×3 box, 3 fits in only one cell. Looking at the other empty cells:- Because row 1 already has a 3, R1C4 and R1C6 cannot hold 3.- Because row 3 already has a 3, R3C5 and R3C6 cannot hold 3.So 3 must go in R2C6.
  14. R3C7 = 7 · Hidden SingleIn the top-right 3×3 box, 7 fits in only one cell. Looking at the other empty cells:- Because row 1 already has a 7, R1C7 and R1C9 cannot hold 7.- Because row 2 already has a 7, R2C7 cannot hold 7.So 7 must go in R3C7.
  15. R8C4 = 3 · Hidden SingleIn the bottom-centre 3×3 box, 3 fits in only one cell. Looking at the other empty cells:- Because column 6 already has a 3, R8C6 cannot hold 3.- Because row 9 already has a 3, R9C4 and R9C5 cannot hold 3.So 3 must go in R8C4.
  16. R5C8 = 6 · Hidden SingleIn column 8, 6 fits in only one cell. Looking at the other empty cells:- Because row 4 already has a 6, R4C8 cannot hold 6.- Because row 7 already has a 6, R7C8 cannot hold 6.So 6 must go in R5C8.
  17. R5C1 = 5 · Hidden SingleStep 1 · Pick a digit and a box, and find where it can goThe top-centre 3×3 box has no 5 yet; 5 can only go in R3C5 and R3C6.Step 2 · Places on one row: point along it (pointing)All of them lie on row 3, so the box's 5 is on row 3. The rest of row 3 loses 5: R3C1 and R3C3.Step 3 · Collect what the eliminations unlockIn column 1, 5 has one place left, R5C1 (lost 5: R3C1 in step 2) → place 5 in R5C1.
  18. R6C2 = 1 · Naked SingleLooking at R6C2:- Row 6 already has 2, 3, 6, 7 and 8 → ruled out.- Column 2 already has 9 → ruled out.- The middle-left 3×3 box already has 4 and 5 → ruled out.So this cell can only be 1.
  19. R6C7 = 5 · Hidden SingleIn the middle-right 3×3 box, 5 fits in only one cell. Looking at the other empty cells:- Because column 8 already has a 5, R4C8 cannot hold 5.- Because column 9 already has a 5, R4C9 and R6C9 cannot hold 5.- Because row 5 already has a 5, R5C7 and R5C9 cannot hold 5.So 5 must go in R6C7.
  20. R1C7 = 9 · Hidden SingleIn column 7, 9 fits in only one cell. Looking at the other empty cells:- Because row 2 already has a 9, R2C7 cannot hold 9.- Because row 5 already has a 9, R5C7 cannot hold 9.- Because row 8 already has a 9, R8C7 cannot hold 9.- Because row 9 already has a 9, R9C7 cannot hold 9.So 9 must go in R1C7.
  21. R4C4 = 5 · Hidden SingleStep 1 · Find two cells with the same pair that do not see each otherR4C4 and R8C6 both hold only {1, 5} and share no row, column or box: they are the pincers.Step 2 · Find a strong link on one of the two digitsIn row 1, 1 has only two places, R1C4 and R1C6; R1C4 sees R4C4 and R1C6 sees R8C6.Step 3 · Follow the link: one pincer must be 5If R4C4 is not 5 it is 1, so R1C4 is not 1, so R1C6 is 1, so R8C6 is not 1 — it is 5. Either R4C4 or R8C6 is 5.Step 4 · Remove 5 from every cell that sees both pincersThe cells that see both pincers lose 5: R4C6 and R9C4.Step 5 · Collect what the elimination unlocksIn the centre 3×3 box, 5 has one place left, R4C4 (lost 5: R4C6 in step 4) → place 5 in R4C4.
  22. R5C5 = 1 · Hidden SingleStep 1 · Pick a digit and a box, and find where it can goThe top-left 3×3 box has no 1 yet; 1 can only go in R3C1 and R3C3.Step 2 · Places on one row: point along it (pointing)All of them lie on row 3, so the box's 1 is on row 3. The rest of row 3 loses 1: R3C5 and R3C6.Step 3 · Pick a digit and a box, and find where it can goThe top-centre 3×3 box has no 5 yet; 5 can only go in R3C5 and R3C6.Step 4 · Places on one row: point along it (pointing)All of them lie on row 3, so the box's 5 is on row 3. The rest of row 3 loses 5: R3C3.Step 5 · Spot an X-Wing spoiled by an extra placeRow 6 has 4 only in columns 6 and 9. Row 1 has 4 in both of them too, plus R1C4.Step 6 · Check that the fin shares a box with a cornerThe fin R1C4 is in the top-centre 3×3 box, with the corner R1C6.Step 7 · Reason in two cases: the fin holds the digit, or the X-Wing is realIf no fin is 4, the X-Wing is real and 4 leaves R3C6 and R5C9. If a fin is 4, the rest of the top-centre 3×3 box loses 4: R1C6, R3C5 and R3C6.Step 8 · Remove the digit only where both cases agreeThe cells on both lists lose 4: R3C6.Step 9 · Find a cell with exactly two candidatesPivot: R3C6 holds only {5, 6}.Step 10 · Find two pincers that share the same ZR3C3 {1, 6} and R8C6 {1, 5} see the pivot and each hold one of its digits; their other digit is 1, so Z = 1.Step 11 · Follow both cases: one pincer is always ZIf the pivot is 6, R3C3 is 1; if it is 5, R8C6 is 1.Step 12 · Remove Z from every cell that sees both pincersThe cells that see both pincers lose 1: R8C3.Step 13 · Find a row where the digit has only two placesRow 5 has only two places for 1: R5C5 and R5C7.Step 14 · Find a second such row whose end shares a column with the firstRow 8 has only two places for 1: R8C6 and R8C7. The base cells R5C7 and R8C7 share column 7; the roofs are R5C5 and R8C6.Step 15 · Remove the digit from every cell that sees both roofsThe two base cells cannot both be 1, so at least one roof is. Every cell that sees both roofs loses 1: R4C6 and R9C5.Step 16 · Collect what the elimination unlocksIn the centre 3×3 box, 1 has one place left, R5C5 (lost 1: R4C6 in step 15) → place 1 in R5C5.
  23. R6C6 = 4 · Hidden SingleIn the centre 3×3 box, 4 fits in only one cell. Looking at the other empty cells:- Because row 4 already has a 4, R4C6 cannot hold 4.So 4 must go in R6C6.
  24. R6C9 = 9 · Naked SingleLooking at R6C9:- Row 6 already has 1, 2, 3, 4, 5, 6, 7 and 8 → ruled out.So this cell can only be 9.
  25. R4C6 = 9 · Naked SingleLooking at R4C6:- Row 4 already has 2, 3, 4, 5, 6 and 8 → ruled out.- Column 6 already has 7 → ruled out.- The centre 3×3 box already has 1 → ruled out.So this cell can only be 9.
  26. R4C8 = 1 · Hidden SingleIn the middle-right 3×3 box, 1 fits in only one cell. Looking at the other empty cells:- Because column 9 already has a 1, R4C9 cannot hold 1.- Because row 5 already has a 1, R5C7 and R5C9 cannot hold 1.So 1 must go in R4C8.
  27. R4C9 = 7 · Naked SingleLooking at R4C9:- Row 4 already has 1, 2, 3, 4, 5, 6, 8 and 9 → ruled out.So this cell can only be 7.
  28. R7C8 = 7 · Naked SingleLooking at R7C8:- Row 7 already has 2, 3, 5, 6, 8 and 9 → ruled out.- Column 8 already has 1 and 4 → ruled out.So this cell can only be 7.
  29. R9C2 = 7 · Hidden SingleIn the bottom-left 3×3 box, 7 fits in only one cell. Looking at the other empty cells:- Because row 7 already has a 7, R7C1 and R7C2 cannot hold 7.- Because row 8 already has a 7, R8C3 cannot hold 7.- Because column 3 already has a 7, R9C3 cannot hold 7.So 7 must go in R9C2.
  30. R7C1 = 1 · Hidden SingleIn row 7, 1 fits in only one cell. Looking at the other empty cells:- Because column 2 already has a 1, R7C2 cannot hold 1.So 1 must go in R7C1.
  31. R7C2 = 4 · Naked SingleLooking at R7C2:- Row 7 already has 1, 2, 3, 5, 6, 7, 8 and 9 → ruled out.So this cell can only be 4.
  32. R3C1 = 4 · Naked SingleLooking at R3C1:- Row 3 already has 2, 3, 7, 8 and 9 → ruled out.- Column 1 already has 1, 5 and 6 → ruled out.So this cell can only be 4.
  33. R2C2 = 5 · Naked SingleLooking at R2C2:- Row 2 already has 1, 2, 3, 7, 8 and 9 → ruled out.- Column 2 already has 4 and 6 → ruled out.So this cell can only be 5.
  34. R3C3 = 1 · Hidden SingleIn the top-left 3×3 box, 1 fits in only one cell. Looking at the other empty cells:- Because row 2 already has a 1, R2C3 cannot hold 1.So 1 must go in R3C3.
  35. R2C3 = 6 · Naked SingleLooking at R2C3:- Row 2 already has 1, 2, 3, 5, 7, 8 and 9 → ruled out.- Column 3 already has 4 → ruled out.So this cell can only be 6.
  36. R2C7 = 4 · Naked SingleLooking at R2C7:- Row 2 already has 1, 2, 3, 5, 6, 7, 8 and 9 → ruled out.So this cell can only be 4.
  37. R1C9 = 6 · Naked SingleLooking at R1C9:- Row 1 already has 2, 3, 5, 7, 8 and 9 → ruled out.- Column 9 already has 1 → ruled out.- The top-right 3×3 box already has 4 → ruled out.So this cell can only be 6.
  38. R1C4 = 4 · Hidden SingleIn the top-centre 3×3 box, 4 fits in only one cell. Looking at the other empty cells:- Because column 6 already has a 4, R1C6 cannot hold 4.- Because row 3 already has a 4, R3C5 and R3C6 cannot hold 4.So 4 must go in R1C4.
  39. R1C6 = 1 · Naked SingleLooking at R1C6:- Row 1 already has 2, 3, 4, 5, 6, 7, 8 and 9 → ruled out.So this cell can only be 1.
  40. R9C4 = 1 · Naked SingleLooking at R9C4:- Row 9 already has 2, 3, 7 and 9 → ruled out.- Column 4 already has 4, 5, 6 and 8 → ruled out.So this cell can only be 1.
  41. R3C6 = 6 · Hidden SingleIn the top-centre 3×3 box, 6 fits in only one cell. Looking at the other empty cells:- Because column 5 already has a 6, R3C5 cannot hold 6.So 6 must go in R3C6.
  42. R3C5 = 5 · Naked SingleLooking at R3C5:- Row 3 already has 1, 2, 3, 4, 6, 7, 8 and 9 → ruled out.So this cell can only be 5.
  43. R9C5 = 4 · Naked SingleLooking at R9C5:- Row 9 already has 1, 2, 3, 7 and 9 → ruled out.- Column 5 already has 5, 6 and 8 → ruled out.So this cell can only be 4.
  44. R8C6 = 5 · Naked SingleLooking at R8C6:- Row 8 already has 2, 3, 4, 6, 7 and 9 → ruled out.- Column 6 already has 1 and 8 → ruled out.So this cell can only be 5.
  45. R5C9 = 4 · Hidden SingleIn the middle-right 3×3 box, 4 fits in only one cell. Looking at the other empty cells:- Because column 7 already has a 4, R5C7 cannot hold 4.So 4 must go in R5C9.
  46. R5C7 = 8 · Naked SingleLooking at R5C7:- Row 5 already has 1, 2, 3, 4, 5, 6, 7 and 9 → ruled out.So this cell can only be 8.
  47. R9C9 = 8 · Naked SingleLooking at R9C9:- Row 9 already has 1, 2, 3, 4, 7 and 9 → ruled out.- Column 9 already has 5 and 6 → ruled out.So this cell can only be 8.
  48. R9C3 = 5 · Hidden SingleIn the bottom-left 3×3 box, 5 fits in only one cell. Looking at the other empty cells:- Because row 8 already has a 5, R8C3 cannot hold 5.So 5 must go in R9C3.
  49. R9C7 = 6 · Naked SingleLooking at R9C7:- Row 9 already has 1, 2, 3, 4, 5, 7, 8 and 9 → ruled out.So this cell can only be 6.
  50. R8C3 = 8 · Naked SingleLooking at R8C3:- Row 8 already has 2, 3, 4, 5, 6, 7 and 9 → ruled out.- Column 3 already has 1 → ruled out.So this cell can only be 8.
  51. R8C7 = 1 · Naked SingleLooking at R8C7:- Row 8 already has 2, 3, 4, 5, 6, 7, 8 and 9 → ruled out.So this cell can only be 1.

First to finish

Ranked by when each player finished, not by how long they took — so looking up a solution never moves anyone up this board.

Open the app to see who finished first.