Browser game
Logic Squares
Four kinds of puzzle on the same grid: Futoshiki, Skyscrapers, magic square and Calcudoku. 80 puzzles across four levels, each verified beforehand to have exactly one solution. Play with the keyboard or with your finger.
Loading the puzzle.
- 1-9
- enter a digit
- ⇧ + 1-9
- pencil mark
- ← ↑ ↓ →
- move cell
- ⌫
- clear cell
- Esc
- drop selection
The four games
Futoshiki
A Latin square: every digit appears exactly once in each row and each column. Between neighbouring cells sit < and > signs saying which of the two is larger. Often the grid starts without a single digit, and then the inequalities are all you get. The longest chains are a good place to start: three signs pointing the same way mean four cells rising in a row. On a 4×4 that pins the chain down; on larger grids it at least leaves only the smallest digits for one end and the largest for the other.
Skyscrapers
A Latin square again, but here the digit means something: it is the height of a building. The numbers along the edge say how many buildings are visible from there, with lower ones hidden behind taller ones. A 1 at the edge therefore means the tallest building stands right there; a number as large as the grid means the row climbs without a gap. The first case fills in one cell straight away, the second a whole row.
Magic square
Here it is not the single digit that matters but the sum: the numbers from 1 to 9, or 1 to 16, are placed so that every row, every column and both diagonals add up to the same total. A running sum sits beside each row and below each column so you can see how far there is to go; a sum that comes out right turns green and gets a tick, one that overshoots turns red.
Calcudoku
A Latin square with arithmetic cages: the cells of a cage produce the printed number using the printed operation. Unlike rows and columns, a digit may repeat within a cage, which is easy to miss at first. A cage of a single cell gives its digit away outright and is the usual way in.
Where the puzzles come from
They are not generated in the browser but ahead of time, by a Python script that proves for each puzzle that it really has only one solution. That is the part that costs computing time: building a puzzle is easy, showing that it is unique much less so. Doing that work once, up front, rather than pushing it onto every visitor keeps the page small. The browser runs only the board, with no generator and no solver.
When thinning out the clues, the minimum is not always the goal. A 4×4 magic square stays unique down to three given cells, but by then it can only be solved by searching, which is exactly what a logic puzzle is supposed to spare you. So part of what separates the levels is how early the thinning stops.