Thinking about the programming behind it I wonder how much of the colour inheritance is random. So, for example, if a mother is green and father blue then it's a toss of the coin if the child is green or blue. Also if the non-normal colours (i.e the reds/greens/blues) have a different inheritance system that the 'normal' colours. So, let me see if I can explain myself. There are lots of instances in gameplay that if a dark-skinned parent has a child with a light-skinned parent, the child can have a colour of somewhere in between. However a child from a blue parent and a green parent, the child won't turn out a funny brown colour (at least I think that's what you get when you mix blue and green), but either blue or green. So, let's theorise that this is what happens with the non-normal colours. So, would the colour inheritance be an equal 50/50? Or would it be random? Now, if it is random then trying to determine what the probabilities of getting a blue child from a blue/green parents can become quite complicated. At first you can mathematically show it as a probability of of 1 in 2 chances that the child will be blue. However, without delving into the maths it is entirely possible that all the kids from the blue/green parents are blue (say, for argument's sake 10 kids in total). So, you would tell me that's not random. However, it's like tossing a coin. There's lots of studies proving that you can toss a coin and call heads 50 times in a row, even though the coin toss is, obviously, random.
So, I guess to answer the question, lots of experimenting is needed. This has really peaked my curiosity and I'll see if I can run some tests and find out what the results are.
Unfortunately (in this case that is) my mother is over visiting from Malta for a week, so it may have to wait until she leaves (I don't get to see her that often so whilst she's here everything else tends to wait).