EDIT: or even take a lower-level solution and inject another path into. So every prior level is a seed to future levels. Rotation of the three faces, even cycling the colors, would probably make it hard to recognize the older level within the new one (at least, for casual use).
The problem can in fact be modeled with a graph in which you need to find vertex-disjoint paths between pairs of vertices (s1,t1), (s2,t2), and so on, but this problem seems not to be reducible to max-flow, instead it is NP-hard.
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)
1) https://github.com/dbunker/SABR/blob/master/module/other-tes...
2) https://github.com/dbunker/SABR/blob/master/module/other-tes...
But that's what makes it fun. It's the perfect combination of familiarity & challenge!