The F-pentomino works, but it is VERY slow because gliders fly away and this increases the number of cells a lot O(generation) space and O(generation^2) time.<p>&#62; Oh, and I think %3 should be %4, %3 is somewhere between 1 and 2 bits and you really need two bits.<p>Hmm. Two cells that are next to each other can never be more than 1 generation apart, right? For example if we have cells AB then if A is in generation 10 then B can be in generation 9, 10 or 11. This happens when we call update on A:<p>- if B is in generation 9 we do nothing<p>- if B is in generation 10 we use its current value<p>- if B is in generation 11 we use its previous value<p>So really you only need to remember 2 generations (current and previous). So that would be gen%2 instead of gen%3 or gen%4...what am I missing?