Fillomino is a puzzle type made by nikoli.

**Cell types**

In an unsolved puzzle, some cells contain numbers, while others are empty. The solved puzzle requires all cells to be filled with numbers in a certain way.

**Interaction**

These numbers are friendly…and hostile. They form groups of various sizes. 1s are solitary; they don’t want to be disturbed, so each group of 1s occupies exactly one cell and border themselves from the outside influences. 2s are more open; they are grouped in twos, just like their name suggests, so each group of 2s occupies two cells, and so on. They never wants any other instances of their number around, so they are bordered with different numbers. In other words, a number specifies the area of its region.

See the example. 1s are grouped into some groups, each containing one 1s. A group of 2s contains two 2s, and so on. Note that these groups might have multiple givens…or none at all. See the group of 3, which contains two givens, or the group of 4s, that somehow has no given. Moreover, two groups of identical numbers are not bordering each other. See the groups of 2s for example; none of them border any other group of 2. Groups of the same numbers can touch at corners, though this didn’t appear in the example above.

**Objective**

Fill each cell with a number such that the grid and the numbers satisfy the above conditions.

**Walkthrough of the example**

Note R1C1 and R1C3. If R1C2 is 2, then R1C1, R1C2, R1C3 will form a region of three cells, but the number is only 2. So R1C2 is not 2. It’s sometimes helpful to draw a border between two cells to know that the two cells on the opposite sides of the border have different values. In this case, we can draw a border between R1C1 and R1C2, along with R1C2 and R1C3. This makes R1C4 and R2C1 be 2.

Now comes the difficult thing. If R2C2 is not 3, then R1C2 and R2C2 forms an isolated region of 2. They can’t be two regions of 1, so they must be a group of 2. But, as the previous paragraph stated, R1C2 can’t be 2, so R2C2 can’t be not 3. So R2C2 is 3. This makes R1C2 be 1. With a similar argument, R4C1 must be 2, which makes R3C1 be 1.

Now, for the final part. A region of 4 can be partitioned into a region of 4, a region of 3 and 1, or a region of 1, 2, 1. For the second case, the 3 is ensured to coincide with the center group. For the third case, as there’s only one possibility (R2C4, R4C3 be 1 and R3C3, R3C4 be 2), note that R4C3 and R4C4 are both 1, contradiction. So the only possible case is case 1, where it’s a group of 4. See how a group with no givens (not only in the correct place, even the correct number doesn’t appear) in the grid can appear.

For example:

http://www.janko.at/Applets/Fillomino/q.php?w=400&h=300&r=4&c=4&p=,,2,/2,,,5/3,,,1/,1,,/