Accepting a group that uses four cover lines, or a base line with fewer than two or more than three candidate positions.
Sudoku technique · Candidate elimination
Swordfish
A Swordfish appears when one digit has two or three candidate cells in each of three base rows or columns and the union of those positions spans exactly three crossing columns or rows.
Learning order
Topic relationships
These links express the same learning and proof relationships used throughout the library.
- Uses candidate language fromCandidate Notes
Verified example
Work through the example
R1C1: empty | R1C2: empty | R1C3: empty | R1C4: given 99 | R1C5: given 77 | R1C6: given 55 | R1C7: given 22 | R1C8: given 33 | R1C9: given 88 |
R2C1: given 99 | R2C2: given 88 | R2C3: given 55 | R2C4: empty | R2C5: given 22 | R2C6: empty | R2C7: empty; Base/cover candidate; Before 1, 4, 7 | R2C8: given 66 | R2C9: empty; Base/cover candidate; Before 4, 7 |
R3C1: given 22 | R3C2: given 77 | R3C3: given 33 | R3C4: empty | R3C5: empty | R3C6: given 88 | R3C7: empty | R3C8: given 55 | R3C9: given 99 |
R4C1: empty | R4C2: empty | R4C3: given 99 | R4C4: empty | R4C5: empty | R4C6: given 22 | R4C7: empty; candidate deletion 7; Before 3, 5, 6, 7; After 3, 5, 6 | R4C8: given 88 | R4C9: given 11 |
R5C1: empty | R5C2: empty | R5C3: empty | R5C4: given 88 | R5C5: given 99 | R5C6: empty; candidate deletion 7; Before 3, 6, 7; After 3, 6 | R5C7: empty; candidate deletion 7; Before 3, 4, 5, 6, 7; After 3, 4, 5, 6 | R5C8: empty | R5C9: empty; candidate deletion 7; Before 2, 3, 4, 6, 7; After 2, 3, 4, 6 |
R6C1: given 88 | R6C2: given 22 | R6C3: empty | R6C4: given 11 | R6C5: given 55 | R6C6: empty; Base/cover candidate; Before 3, 6, 7 | R6C7: empty; Base/cover candidate; Before 3, 4, 6, 7 | R6C8: given 99 | R6C9: empty; Base/cover candidate; Before 3, 4, 6, 7 |
R7C1: given 66 | R7C2: given 55 | R7C3: given 88 | R7C4: empty | R7C5: empty | R7C6: given 44 | R7C7: given 99 | R7C8: empty | R7C9: empty; candidate deletion 7; Before 2, 3, 7; After 2, 3 |
R8C1: empty | R8C2: empty | R8C3: given 77 | R8C4: empty | R8C5: empty | R8C6: given 99 | R8C7: given 88 | R8C8: empty | R8C9: given 55 |
R9C1: empty | R9C2: given 99 | R9C3: given 22 | R9C4: given 55 | R9C5: given 88 | R9C6: empty; Base/cover candidate; Before 1, 3, 7 | R9C7: empty; Base/cover candidate; Before 3, 6, 7 | R9C8: given 44 | R9C9: empty; Base/cover candidate; Before 3, 6, 7 |
- Base/cover candidate: 7
Pattern cells: R2C7, R2C9, R6C6, R6C7, R6C9, R9C6, R9C7, R9C9. Remove 7 from R4C7; Remove 7 from R5C6; Remove 7 from R5C7; Remove 7 from R5C9; Remove 7 from R7C9.
- Pattern cells
- R2C7, R2C9, R6C6, R6C7, R6C9, R9C6, R9C7, R9C9
- Pattern digits
- 7
- Orientation
- Row-based
- Base lines
- Row 2, Row 6, Row 9
- Cover lines
- Column 6, Column 7, Column 9
Exact candidate changes
- Remove 7 from R4C7Before: 3, 5, 6, 7 → After: 3, 5, 6
- Remove 7 from R5C6Before: 3, 6, 7 → After: 3, 6
- Remove 7 from R5C7Before: 3, 4, 5, 6, 7 → After: 3, 4, 5, 6
- Remove 7 from R5C9Before: 2, 3, 4, 6, 7 → After: 2, 3, 4, 6
- Remove 7 from R7C9Before: 2, 3, 7 → After: 2, 3
- Choose one digit and record all candidate positions in possible base rows, then repeat with columns if needed.
- Find three base lines that each contain two or three positions and whose combined positions use exactly three cover lines.
- Reserve the digit for the pattern cells somewhere within those three base and three cover lines.
- Remove only that digit from the cover lines outside the three base lines.
Fixed practice
Count positions for one digit by line, keep only lines with two or three positions, and confirm that their union is exactly three crossing lines.
Fixed practice · R1C3
R1C1: empty; candidate deletion 5; Before 4, 5, 6, 7; After 4, 6, 7 | R1C2: given 11 | R1C3: empty; Base/cover candidate; Before 5, 6 | R1C4: given 99 | R1C5: empty | R1C6: empty; Base/cover candidate; Before 4, 5 | R1C7: given 22 | R1C8: given 33 | R1C9: given 88 |
R2C1: empty; candidate deletion 5; Before 2, 5, 7, 9; After 2, 7, 9 | R2C2: given 88 | R2C3: empty; Base/cover candidate; Before 5, 9 | R2C4: given 33 | R2C5: empty | R2C6: empty; Base/cover candidate; Before 1, 5 | R2C7: empty; Base/cover candidate; Before 5, 7 | R2C8: given 66 | R2C9: given 44 |
R3C1: empty | R3C2: empty | R3C3: given 33 | R3C4: given 66 | R3C5: empty | R3C6: given 88 | R3C7: given 11 | R3C8: empty | R3C9: given 99 |
R4C1: empty; candidate deletion 5; Before 5, 6, 7, 9; After 6, 7, 9 | R4C2: empty; candidate deletion 5; Before 5, 6, 7; After 6, 7 | R4C3: empty; Base/cover candidate; Before 5, 6, 9 | R4C4: given 44 | R4C5: given 33 | R4C6: given 22 | R4C7: empty; Base/cover candidate; Before 5, 7 | R4C8: given 88 | R4C9: given 11 |
R5C1: empty | R5C2: given 33 | R5C3: given 11 | R5C4: given 88 | R5C5: empty | R5C6: given 66 | R5C7: given 44 | R5C8: empty | R5C9: given 22 |
R6C1: given 88 | R6C2: given 22 | R6C3: given 44 | R6C4: given 11 | R6C5: empty | R6C6: given 77 | R6C7: given 33 | R6C8: empty | R6C9: given 66 |
R7C1: empty | R7C2: empty | R7C3: given 88 | R7C4: given 77 | R7C5: empty | R7C6: empty | R7C7: given 99 | R7C8: given 22 | R7C9: given 33 |
R8C1: given 33 | R8C2: given 44 | R8C3: given 77 | R8C4: given 22 | R8C5: given 66 | R8C6: given 99 | R8C7: given 88 | R8C8: given 11 | R8C9: given 55 |
R9C1: given 11 | R9C2: given 99 | R9C3: given 22 | R9C4: given 55 | R9C5: given 88 | R9C6: given 33 | R9C7: given 66 | R9C8: given 44 | R9C9: given 77 |
- Base/cover candidate: 5
Pattern cells: R1C3, R1C6, R2C3, R2C6, R2C7, R4C3, R4C7. Remove 5 from R1C1; Remove 5 from R2C1; Remove 5 from R4C1; Remove 5 from R4C2.
- Pattern cells
- R1C3, R1C6, R2C3, R2C6, R2C7, R4C3, R4C7
- Pattern digits
- 5
- Orientation
- Column-based
- Base lines
- Column 3, Column 6, Column 7
- Cover lines
- Row 1, Row 2, Row 4
Exact candidate changes
- Remove 5 from R1C1Before: 4, 5, 6, 7 → After: 4, 6, 7
- Remove 5 from R2C1Before: 2, 5, 7, 9 → After: 2, 7, 9
- Remove 5 from R4C1Before: 5, 6, 7, 9 → After: 6, 7, 9
- Remove 5 from R4C2Before: 5, 6, 7 → After: 6, 7
Common mistakes
Common mistakes
Deleting the digit from a pattern cell, from outside the three cover lines, or from a cell on one of the base lines.
Review information
What is verified here
The independent verifier recomputes the chosen digit’s exact positions, the row-based or column-based orientation, all three base and cover lines, and the complete ordered deletion list.
- Fixture ID
- p3d-swordfish-row-01 / p3d-swordfish-column-01
- Engine version
- legen-sudoku-engine/1.3.0
- Verification status
- Independent candidate-elimination verifier passed
- Facts reviewed
- 2026-07-18