Thanks to everyone who commented on my previous entry with proofs, software and other useful comments. I think I've now taken the investigation of this problem as far as I have the energy to, at least for the moment. A collection of all the useful things I know about it, including a big pile of data, is now up on a web page: http://www.chiark.greenend.org.uk/~sgtatham/matchsticks/.
def col4_dissector(n,m): if m != 4: return [] if n % 2 == 0: return [] d = (n-1)/2 bit = Fraction(1, d) return [([[(2, (n*bit,) * d), (2, ((n-2)*bit,) * d + (2,))], [(1, (2, 2)), (n - 1, (n*bit, (n-2)*bit))]], "general pattern for m = 4, n odd")]Sorry to provide you with additional results just when you thought you'd finished.