Sudoku Spaces

Sudoku Spaces lets you view the same puzzle from different angles, transforming the grid so that hidden patterns become obvious. An X-Wing that's hard to spot in the normal grid appears as a simple Naked Pair in the right space.

Quick Start

  1. Tap the space button in the status bar (shows "rc" by default)
  2. Select rn from the menu
  3. The grid transforms — rows still represent rows, but columns now represent digits
  4. Solve normally: the keyboard and input adapt automatically
  5. Tap the space button again and select rc to return to the standard view

Note: Sudoku Spaces is a Premium feature.

What Are the Four Spaces?

A Sudoku puzzle has three dimensions: row, column, and digit. The standard grid shows row × column, with digits as candidates inside each cell. But you can choose any two of the three dimensions as your axes, creating four distinct views — the four Berthier spaces, named after Denis Berthier who formalised them.

Think of the puzzle as a 9×9×9 cube. Each space is a different face of that cube:

Space Rows are Columns are Candidates are
rc (standard) Rows (R1–R9) Columns (C1–C9) Digits (1–9)
rn Rows (R1–R9) Digits (D1–D9) Column positions (C1–C9)
cn Digits (D1–D9) Columns (C1–C9) Row positions (R1–R9)
bn Boxes (B1–B9) Digits (D1–D9) Box positions (P1–P9)

cn-space is transposed by default so that columns keep their familiar left-to-right position. A setting is available to un-transpose it if you prefer digits on the horizontal axis.

Here is the simplest duality — a Hidden Single in rc-space becomes a Naked Single in rn-space:

puzzle: S9B028A8Z8307838303084QBU83BT830685071703DE83BP04BP06850Z228E088Z028B078313018G88DE82DMBSBO061U8407CJ03BN04BP0Z2Q2W042X082X131V096A06140483A14N4J2V0901122U062U4M4Q02
mode: guided
initial:
  layers:
    hints: false
steps:
  - text: >
      **rc-space:** Where can 6 go in Row 1? R1C3 has candidates {1, 5, 6, 9} — the 6 is hidden amongst them, but it's the only cell in Row 1 that can hold 6.
    state:
      focus:
        enabled: true
        digits: [6]
      selection:
        cell: R1C3

  - text: >
      **rn-space:** Look at cell R1D6 — it has just one candidate (C3). The Hidden Single is now a Naked Single, trivially visible.
    state:
      space: rn
      selection:
        cell: R1C6
settings:
  showCandidates: true
  showControls: true
  showDescription: true
  navigation: numbered

How to Switch Spaces

There are several ways to change the active space:

The current space is always shown in the status bar.

Reading the Projected Grid

Axis Labels

In projected spaces, the grid axes change meaning. The app relabels row and column headers to reflect the current space:

puzzle: S9B050b0i0d014y0g4y03624b0682cy0343bv02624b0302cy1ub71ubf4a0e0203b64bb707060f0c0g7n054b0bbfbf01094a0f0b07050c4a0c5u4j0z0f09040b5v022i17080c0z067n9f090f430g040b0c4305
mode: guided
steps:
  - text: >
      **rc-space** is the standard view. Rows (R1–R9) run down the left, columns (C1–C9) across the top. Each cell asks "what digit goes here?" and candidates show which digits remain possible.
  - text: >
      **rn-space** (row × digit). Rows still show R1–R9, but columns now show digits D1–D9. Each cell asks "which column does this digit occupy in this row?" Candidates list the possible column positions. A solved cell shows the column where that digit was placed.
    state:
      space: rn
  - text: >
      **cn-space** (column × digit, transposed). Columns keep their familiar C1–C9 position across the top; digits D1–D9 run down the left. Each cell asks "which row does this digit occupy in this column?" Candidates list the possible row positions.
    state:
      space: cn
  - text: >
      **cn-space** (standard orientation). Without transposition the axes swap — columns C1–C9 become rows and digits D1–D9 become columns. The data is identical, only the layout changes.
    state:
      space: cn
      transposed: false
  - text: >
      **bn-space** (box × digit). Rows show boxes B1–B9, columns show digits D1–D9. Each cell asks "which position does this digit occupy in this box?" Candidates list the possible positions within the box.
    state:
      space: bn
settings:
  showCandidates: true
  showControls: true
  showDescription: true
  navigation: numbered

What Do Candidates Mean?

Each space answers a different question. In every cell, the candidates tell you which options remain for one specific combination of two dimensions:

Space Each cell asks Candidates answer
rc "What digit goes in this row and column?" Digits (1–9)
rn "Which column does this digit occupy in this row?" Column positions (C1–C9)
cn "Which row does this digit occupy in this column?" Row positions (R1–R9)
bn "Which position does this digit occupy in this box?" Box positions (P1–P9)

A solved cell means the question has a definitive answer — the digit is placed at a known position.

Solving in Projected Spaces

Smart Keyboard

When you switch spaces, the keyboard relabels automatically. In rn-space, the digit keys show column positions (C1–C9) instead. You interact with the grid the same way — tap a cell, press a key — but the labels match the current space's candidate meaning.

Edits Translate Back

Any change you make in a projected space is automatically translated back to the standard rc-space grid. Place a candidate in rn-space and it appears in the correct cell in rc-space. You never lose work.

Undo and Redo

Undo and redo work across space switches. If you make an edit in rn-space and undo, the edit is reversed regardless of which space you're currently viewing.

Space Resets

When you start a new puzzle or load a game state, the view resets to rc-space automatically.

Technique Duality

The most powerful insight of Sudoku Spaces is technique duality: a pattern that is complex in one space becomes simple in another.

rc-space pattern Projected pattern Space Size
Hidden Single Naked Single rn 1
X-Wing (row-based) Naked Pair rn 2
Swordfish (col-based) Naked Triple cn 3
Jellyfish (row-based) Naked Quad rn 4

Why does this work? In rn-space, "rows" are still rows and "columns" are digits — so N rows sharing the same N column positions is exactly a naked subset (N cells in a unit sharing N candidates). A fish pattern in rc-space means N rows have a digit confined to N columns, which is the same thing from a different angle.

This duality works both ways. A Naked Pair in rc-space appears as an X-Wing in rn-space. The spaces don't make techniques easier or harder in absolute terms — they shift which patterns are visually obvious.

puzzle: S9B015y2e685w68050609040i022e0e0f0a2e085y050f0a5u090b042e2u2e0i06042c0810012q0f0dd0015w9i102e020a089e03050f9e0d5y042e05d0609i010f095y0e5y0f0a045y0206020166cy669id205
mode: guided
initial:
  layers:
    hints: false
steps:
  - text: >
      **rc-space:** An X-Wing on digit 7. Rows 2 and 6 confine 7 to columns 4 and 8.
    state:
      focus:
        enabled: true
        digits: [7]
      selection:
        cells: [R2C4, R2C8, R6C4, R6C8]

  - text: >
      **rn-space:** The same pattern is a Naked Pair — cells R2D7 and R6D7 share candidates {C4, C8}.
    state:
      space: rn
      focus:
        enabled: true
        digits: [4, 8]
        multiDigitMode: 2+
      selection:
        cells: [R2D7, R6D7]

  - text: >
      **rn-space eliminations:** The Naked Pair eliminates candidates C4 and C8 from other cells in the D7 column.
    state:
      space: rn
      focus:
        enabled: true
        digits: [4, 8]
        multiDigitMode: 2+
      selection:
        cells: [R1C4, R5C4, R8C4, R9C4, R8C8, R9C8]
settings:
  showCandidates: true
  showControls: true
  showDescription: true
  navigation: numbered

Digit Focus in Projected Spaces

Digit Focus adapts to whichever space you are viewing. Because the meaning of "digit" shifts across projections, focus highlighting shifts too.

Candidate Highlighting

In rc-space, selecting digit 7 highlights all cells that contain 7 as a candidate. In rn-space, selecting digit 7 highlights column D7 — the column that represents "where does 7 go?" for each row. The effect is the same: you see every place that digit could appear, but through the lens of the current projection.

In cn-space, digit focus highlights the corresponding row (since digits are on the vertical axis in the transposed layout). In bn-space, digit focus highlights the digit's column.

Strong Links (Conjugate Pairs)

Strong links work in projected spaces too. A conjugate pair — two cells that are the only places for a candidate within a unit — is computed directly from the projected grid. In rn-space, "digit 7 can only go in 2 of the 9 columns in row 3" produces a strong link between those two cells in the D7 column. In cn-space, the same logic applies along rows.

This is especially powerful combined with technique duality. A conjugate pair in the projected space corresponds to a bilocation in rc-space, but the projected view makes the pair visually obvious — the two candidates are side by side in the same column or row.

Bi-value and Tri-value Filters

The special filters adapt naturally. In rn-space, a bi-value cell means "this digit can only go in 2 columns in this row" — which is a bilocation. The bi-value filter therefore highlights all bilocations, making it a powerful tool for spotting fish patterns (fish are built from bilocations).

Premium Feature

Sudoku Spaces is available with a Premium subscription. The standard rc-space view is always available to all users.

Tips

  1. Start with rn-space — It's the most intuitive alternative: rows stay as rows, and fish patterns become naked subsets
  2. Use for fish hunting — If you suspect an X-Wing or Swordfish but can't spot it, switch to rn-space (or cn-space for column-based fish) and look for naked subsets instead
  3. Combine with digit focus — Use Digit Focus in projected spaces to further narrow down patterns

Related Features