I found this clever argument here (amazing what Google will do for you). Take a 5×5 rectangular array of 25 points in the plane. Then each row must have at least three dots of one color. This means that there must be one color which appears at least three times in at least three rows. Each pair of such rows must have dots of this color in exactly one common column (since there are only five columns, and if they have two common columns it forms a rectangle). So the first two such rows collectively contain a dot in every row, and the third row has nowhere to put its three dots of that color without forming a rectangle, since it can only overlap each other row by one dot.