i found a solution to the 4x4 puzzle by just messing around for a while.....
0...
....
....
....
.0..
0...
....
....
..0.
...0
0...
.0..
.0..
0...
...0
..0.
.0..
0.0.
.0.0
..0.
000.
0..0
.0.0
..00
i managed to solve the 5x5 puzzle by working backwards but im not sure how to formalize/generalize the method yet. here are my notes
this is the target configuration
0000.
0...0
.00.0
.0.00
..000
working backwards, we want to combine two blobs into one to get a smaller puzzle. notice that we can combine the X-blobs into the o-blob:
0000.
0...0
.00.0
.X.00
.oX00
this is because if we look at the row:
.oX00
and we delete the X-blob:
.o.00
then it matches one of the other rows, specifically
.X.00
similarly, if we look at the column
0
.
0
X
o
and delete the X-blob:
0
.
0
.
o
it matches another column:
0
.
0
.
X
it seems that when this occurs, its a sufficient condition for being able to combine two blobs. we obtain this board:
0000.
0...0
.00.0
...00
.0.00
you can maybe see that working forwards, we can move the identified columns and rows onto each other to un-combine the blob
next, look at the bottom two rows:
...00
.0.00
these "overlap", so we can replace them with
...00
.0...
obtaining the following board:
0000.
0...0
.00.0
...00
.0...
we repeat this "overlap" technique with row 3 and row 5 to reduce the board further:
0000.
0...0
..0.0
...00
.0...
now we use the combining technique again:
0000.
X...0
o.X.0
...00
.0...
0000.
....0
0...0
...00
.0...
apply the overlap technique twice:
0000.
....0
0....
...00
.0...
0000.
....0
0....
...0.
.0...
apply overlap four more times to destroy the first row:
..0..
....0
0....
...0.
.0...
this is a bit tedious but not too hard to reach, and you can work forwards from here
i guess the problem i have now is to prove for general boards that either the "combining technique" or "overlap technique" is always possible in at least one place.... if thats even true