Start here

Add every part of the puzzle

Photograph the board, the suspect list and all clue pages. You can add up to eight images of the same case before asking for a hint or solution. Images are used only to return this analysis and are not attached to an account.

Case editor

Rebuild the board and clues

1

Create the rooms, mark sittable and blocking objects, then enter the instruction printed for each person.

Комнаты

Board

Choose a tool, then tap cells. Room colors show boundaries; object labels show whether a cell can be occupied.

Персонажи and instructions

Add photos above as extra evidence, or use the editor by itself.

Advanced: edit possible cells directly

Candidate fallback

Mark possible cells

1

Select a suspect, then tap cells to rule them in or out according to the printed clues. Every suspect begins as possible in every cell.

Possible cells for Ada

Готово

Enter what the clues tell you.

Use the example if you want to see how hints and solution checking work.

How it works

A solver that can stop before the spoiler.

01

Capture the whole case

Add separate, sharp images of the full board, every suspect and every clue. Close-ups help when the printed text is small.

02

Review what was read

Check the extracted clues and warnings. Add another photo when part of the case is missing or unclear.

03

Choose your help level

Request one deduction first, or reveal the proposed arrangement only when you deliberately want the answer.

For the best result

Include the complete board and all written clues across your photos. Keep pages straight, avoid glare and make sure names, room boundaries and small text are readable. Always review the extracted evidence before trusting a solution.

Решатель детективного судоку is an independent tool by Detective Sudoku. It is not affiliated with or endorsed by any third-party puzzle publisher.

Mathematical Method & Worked Example

How does the Murder Sudoku constraint solver compute forced placements?

The Решатель детективного судоку models an N×N case board as a binary constraint-satisfaction and bipartite matching problem where each suspect s ∈ {1..K} is assigned a cell (r, c) ∈ {1..N}² such that no two suspects share a row or column, blocking objects are excluded, every spatial clue predicate holds simultaneously, and the victim’s room contains exactly two occupants.

Plain-Text Constraint Satisfaction Equations

Let binary decision variable x[s, r, c] ∈ {0, 1} equal 1 if suspect s is placed at row r, column c. The solver enforces five formal constraint families before enumerating valid completions:

  • Single placement per suspect: ∀ s ∈ {1..K}: ∑_{r=1..N} ∑_{c=1..N} x[s, r, c] = 1
  • Row & column uniqueness (Latin rook constraint): ∀ r ∈ {1..N}: ∑_{s=1..K} ∑_{c=1..N} x[s, r, c] ≤ 1 and ∀ c ∈ {1..N}: ∑_{s=1..K} ∑_{r=1..N} x[s, r, c] ≤ 1
  • Blocking & sittable furniture domain pruning: ∀ (r, c) ∈ BlockedObjects: x[s, r, c] = 0
  • Murder room two-occupant constraint: For victim at (r_V, c_V) ∈ Room(V), ∑_{s=1..K} ∑_{(r,c) ∈ Room(V)} x[s, r, c] = 2 (the victim plus exactly one murderer).
  • Forced-move intersection (Real Hint): Over the solution set S = {A_1, A_2, ..., A_m}, a placement (s, r, c) is reported as a forced logical hint when ∀ A ∈ S: A(s) = (r, c).

Worked 4×4 Example With Real Coordinates & Solved Result

In the built-in 4×4 candidate example (16 cells indexed 0–15, or Row 1 Column 1 through Row 4 Column 4) with 4 suspects (Ada, Bram, Clara, Dorian):

  1. Initial clue-pruned candidate domains:
    • Ada: {R1C1, R1C2} (cells 0, 1 — 2 candidates)
    • Bram: {R2C2, R2C3} (cells 5, 6 — 2 candidates)
    • Clara: {R3C3, R3C4} (cells 10, 11 — 2 candidates)
    • Dorian: {R4C1} (cell 12 — 1 candidate, naked single)
  2. Step-by-step propagation: Dorian is fixed at R4C1, locking Column 1 and eliminating R1C1 from Ada’s domain. This forces Ada = R1C2. Ada at R1C2 locks Column 2 and eliminates R2C2 from Bram’s domain, forcing Bram = R2C3. Bram at R2C3 locks Column 3 and eliminates R3C3 from Clara’s domain, forcing Clara = R3C4.
  3. Verified unique output (1 solution): Ada: Row 1, Column 2 · Bram: Row 2, Column 3 · Clara: Row 3, Column 4 · Dorian: Row 4, Column 1.

Murder Sudoku Clue Types & Spatial Constraint Reference Table

Clue Category Spatial / Algebraic Rule Wall & Room Boundary Behavior Candidate Elimination Yield (4×4–6×6 Grid) Worked Deduction Example
Room Membership (r, c) ∈ Room(R) Strictly bounded by room walls Eliminates 60%–85% of board cells (10–30 cells) “Ben was in the Poolside” restricts Ben to Poolside tiles
Orthogonal Adjacency (“Beside”) |r - r'| + |c - c'| = 1 and Room(r,c) = Room(r',c') Blocked by walls; diagonals excluded Reduces domain to 1–4 orthogonal neighbor cells “Daniel was beside a bench (R1C2)” → R1C1 or R1C3
Cardinal Direction (North / South / East / West) Same column (c = c', r < r' or r > r') or same row (r = r') Line-of-sight or room-bounded per clue Eliminates 3–5 entire rows or columns “Carl was directly west of a table (R1C4)” → R1C1 or R1C3
Exact Vector Distance (r_A, c_A) = (r_B + Δr, c_B + Δc) Couples two suspects across rooms Locks paired coordinates to 1–3 valid vectors “Alice was 3 cells SE of Daniel (R1C3)” → Alice at R4C6
Room Corner / Furniture Seat Cell touches 2 perpendicular room walls or has objectType = sittable Defined by room perimeter geometry Restricts suspect to 2–6 corner/chair squares “Fiona was in a corner of the room” → room corner cells only
Victim Alone With Murderer ∑_{(r,c) ∈ Room(Victim)} x[s,r,c] = 2 Applies to the victim’s enclosed room Forces exactly 1 suspect into the victim’s room Victim at R6C1 (Gazebo) + row/col blocks → culprit at R5C2