You have blocks in five colors (red, green, yellow, blue and black - or 1 to 5). Each color comes in two varieties: a cube and one as big as two cubes stacked atop each other (sizes 1 and 2).
You are supposed to use them to build two towers next to each other such that two blocks of the same color (in either tower) are separated by the sum of their heights. For example:
Note that this only says that each color must repeat within a given distance, but not that every block of the tower must be of a particular color, so you get white blocks to fill any holes (they don't do anything else, and they aren't subject to any of the rules above or below).
You don't know how high the tower is supposed to be, hence give the shortest repeating pattern that can be used to extend such a tower upwards for any height. Within that pattern, each block of each size and color should repeat an equal numbers of times (ignoring white, of course).
Now if that were all, finding a solution would be simple, e.g. this one:
However, in the pattern of each tower each block size of a color should be opposite a block of each other color in the other tower. The above example doesn't fulfill this: consider the blue 2-block: while it occurs on the left opposite to the black 2-block, but never vice versa, and never opposite to the green 2-block, nor does the blue 1-block occur opposite the black 1-block.
Thus for any pair of two colors (not involving white and not both colors the same) the following patterns must occur (given as example for red and blue):
Note that in 3 and 4 they don't need to be perfectly lined up and in 5-8 the small one doesn't need to be at the same height, but there must be one box in which they are opposite, so e.g. for 3 and 5 these are alternative examples: