Fillomino
Write a number in every cell so that every run of equal numbers is exactly that many cells — a run of 3s is three cells, a run of 5s is five. That is the whole puzzle. Click a cell to raise it, right-click to lower it, or select it and type a digit. The borders draw themselves as you write.
Three rules, or one? Fillomino is normally stated in three clauses: cut the grid into regions; a region of N cells is written N everywhere; and two regions of the same size may not share an edge. But read a filled grid the only way it can be read — a region is a maximal connected run of equal numbers — and the third clause is not something you can violate. Two touching regions of size two are, on the page, one run of four 2s, and 4 ≠ 2. The puzzle is one sentence: every connected run of equal numbers has as many cells as its number. Rule 3 is not a difficulty knob; it is exactly the condition under which the numbers alone give the borders back, which is why a Fillomino can be printed with no borders at all — unlike every region puzzle next to it on the page.
That is a claim you can count. Enumerate legal boards two ways — one walker that lays down whole regions and states rule 3 out loud, one that fills cells in reading order and has never heard of it — and they must return the same number on every board, always. On empty grids:
| grid | pictures (region walk) | pictures (cell walk) | partitions |
|---|---|---|---|
| 1×1 | 1 | 1 | 1 |
| 2×2 | 5 | 5 | 12 |
| 3×3 | 445 | 445 | 1,434 |
| 4×4 | 259,728 | 259,728 | 1,691,690 |
The two picture columns agree exactly, every time — that is the theorem. The third drops rule 3 and counts region cuts instead of pictures: by 4×4 it counts each answer 6.51 times over, and that factor is the ambiguity the rule exists to remove. On the sixteen 6×6 boards shipped here, 16/16 are unique as pictures and only 2/16 are unique as cuts once rule 3 is dropped — the median board admits 20 ways to cut it up, the worst 12,244, and every one of them writes the same numbers.
The variable is the cell; its domain is a set of sizes.
Every other region puzzle in this series hands you the regions and asks
what goes in them. Fillomino hands you nothing: the regions
are the answer, so a cell's domain is not "what colour" but
"how big is the region I will end up in". Three rule sets ship —
local (a finished run blocks its own number next door; a
short run with one way out grows into it), region (plus
reach: a number survives at a cell only inside a pocket of
at least that many cells that can still hold it, and a pocket of
exactly that many which already holds one is the region; plus
cut: a cell whose deletion starves a growing run is in it), and
probe (singleton consistency on the frontier). Measured on
unique boards generated with no solvability filter, so the
columns are not circular:
| size | local | region | probe | clues |
|---|---|---|---|---|
| 5×5 | 0% | 10% | 95% | 9.6 / 25 |
| 6×6 | 0% | 4% | 96% | 13.5 / 36 |
From 900 random positions, the region rules decided more cells than the local ones in 818 of them, +6.4 cells on average, and the local rules never once won.
Most regions are never mentioned. Generation peels
clues off a solved grid for as long as a rule set still finishes the
board. What is left is startling:
9–14% of the regions in a shipped board carry no clue at
all. Nothing on the page says those regions exist; their
size, shape and position are forced by the ones that do. And they are
the small ones — a silent region averages 1.3–1.8 cells against
2.7–2.8 overall, and about half of all lone 1s are never printed.
Per cell, the share that ends up clued falls steadily
with region size (6×6: 1:0.51 2:0.50 3:0.35 4:0.36 5:0.28):
one clue buys more grid the bigger the region it lands
in.
The cap is a promise, not a crutch. These boards declare that no region is bigger than five cells, which is what keeps a cell's domain to five values instead of a hundred. It buys speed, not solutions: re-counting the shipped 6×6 boards with the cap lifted to the whole grid leaves all 16 of them unique. And one invariant comes free from the one rule — the grid holds a whole number of size-v regions, so the count of cells labelled v is always a multiple of v.
Soundness is pinned by the two counters that share no code with the propagators, plus a validator that re-reads every region from scratch; all of them must agree, and a disagreement is how an unsound propagator gets caught. A rule set that finishes a board with no search is also a uniqueness certificate. 72 tests.