If a plane is divided by $n$ lines, then it is possible to color the regions formed with only two colors.
Solution 1:
I will try to explain the proof you have found instead of giving another one.
The proof is, in fact, by induction. You start with one line and two regions: one black and one white. We want to show that if we have already drawn $k$ lines and painted all regions such that no two adjacent regions share the same color, then we can add any new $(k+1)$th line and repaint some regions (newly created and old ones) such that the property holds: no two adjacent regions share the same color.
Draw a new line, and do NOT change any colors for now. Consider both sides of the new line. No two regions on the same side of the new line are painted same color! This is because you did not change any colors, and any two regions on the same side may share only a part of a line which they shared before you drew a new line. Moreover, if you invert the colors of all regions on same side of the new line, then this property will still hold for them (blacks become white, and whites become black).
When you draw a new line, you create new regions by dividing some regions in two parts. These and only these newly created adjacent regions will share same color. But once you invert the colors of all regions on one side, you get what you need. All adjacent regions on either side are still painted in different colors, and now newly created adjacent regions (which share the same side which is a part of the new line) are opposite colors as well, because one of them got inverted.
Solution 2:
For every line drawn, choose a nonzero affine (linear plus a constant) function with values in $\mathbf R$ that vanishes on the line. Then colour points $P$ not on any of the lines according to the sign of the product of all these functions at $P$.
Similarly you can replace the straight lines by any curves that can be defined as the zeros of a continuous function and get a more general result.
Solution 3:
Say you already have a plane with N lines on it which is 2-colorable. Then draw another line. Even though this line may cut through regions of various colors, for any point on this line, the newly created regions on both sides will always be the same color.
Then, in order to make this new map 2-colorable, pick one side of the new line and reverse all of the colors in that half of the plane. If the two colors were green and red, all of the red will become green and all of the green will become blue. For all old boundary points (a point an a boundary line) on either half of the plane, both sides (which were 2 different colors at the beginning) will still be two different colors, just flipped.
On the newly created line, since only one side of the line was flipped, and all parts of the line originally had the same color on both sides, all parts of the line now have different color on each side.
So, the plane with the added line is still 2-colorable. This means that if any plane with N lines is 2-colorable, then so is a plane with N+1 lines. Now, observe that an empty plane is 2-colorable (even though it only needs 1 of the 2 colors). So, a plane with any number of lines on it is 2-colorable.
Solution 4:
For convenience, do this on the sphere. Then your great circles determine a 4-regular embedded graph. Now make the Poincare dual graph which has a vertex for each region and an edge when two regions share an edge of the original graph. The dual has a cycle basis made of 4-cycles, and therefore doesnt have odd cycles. In other words, it is bipartite. This is, I guess, the argument from the planar graph perspective.
Update: Mariano points out that I am assuming that my great circles are such that all the intersections are simple. If not, then we can get vertices of degree more than 4 in the primal and vertices of degree 2 in the dual. The vertex degrees of the primal are still even, though, so the same argument applies to exclude odd cycles in the dual.
Another cool proof, that is due (I am told) to Lou Kaufman is this: "resolve" the intersections by replacing an X with a $\cup$ above a $\cap$. If you do this to all the intersections, you get a bunch of nested circles, which obviously have the property you want. Now undo the process.