I've tried to solve this question(Exercise 31) in many ways but I couldn't figure out the logic behind this.
Treat the triples as vectors over a set with elements B (black), W (white) and S (striped). The vectors in the first two rows are "added" (with some noncommutative binary operation), the third row is the result. From the first elements in the first column, we get S + S = W. This leaves the solutions B, D and E. B and E can be eliminated because W + S can't be two values at the same time.
Counting up the number of times each shade shows up in each position of the triplet, we get:
W: 3, 3, 3
G: 4, 3, 3
B: 1, 2, 2
Thus, to even out the number of each shade, we want:
B G G
I would say possibly A because then the number of whites are decreasing by -1 if you add the number of white squares per subsequent column from left to right. Also there is another contingent pattern it solves with the sum of blacks per subsequent row from up to down decreasing by -1. No other answer satisfies the first logic anyway. So it is sufficient enough to stand on its own as the sole reason.