Futoshiki

Fill the grid so every row and every column holds each number exactly once, and every < / > sign between two cells tells the truth. Click a cell to cycle its value.

The solver models each cell as a candidate bitmask over 1..n and shrinks the masks with sound propagation run to a fixpoint: a solved value evicts its copies from its row and column, a value with one home in a line moves in, and every sign a < b clamps one floor and one ceilinga keeps only values below b's maximum, b only values above a's minimum. That bounds rule only ever looks at one edge, yet iterated it performs interval arithmetic over whole inequality chains: in a < b < c < d the floors tighten left-to-right and the ceilings right-to-left until the cell k steps up a chain has floor k+1 — a chain-length conclusion no single rule ever computed. When logic stalls, a fewest-candidates search branches on one cell, re-propagates, and counts solutions — the bundled boards are authored as their own solved squares, thinned until every remaining clue is load-bearing, and the test suite proves each has exactly one answer.