My thoughts: what if you select the initial 5 colors, then recursively "extend" one of the colors in one of three possible directions. The sum of results is your level-space. Store results in a DB. Then, select all levels that have a)cell coverage of 85%+ b)min path length of 5 on all paths.
In order to cut down some of the search, you can make the recursion smarter (e.g. extend one color at a time, early cycle / impossibility prediction, etc)
In order to cut down some of the search, you can make the recursion smarter (e.g. extend one color at a time, early cycle / impossibility prediction, etc)