Topological solution for combinatorial geometry problem Let $X$ be a finite set of points in Euclidean plane. It is given that those points are not colinear. i.e. there is no line such that includes all points of $X$. Show that for any function $f \colon X \to \{0,1\}$(coloring the points with 2 color), there is a line $L$ on the plane such that satisfies
(a) $L$ contains at least 2 points in $X$. Namely, $|L \cap X| \geq 2$.
(b) $\forall a,b \in L \cap X$, $f(a) = f(b)$ (all points of $X$ on $L$ have same color).
I reduced this geometric problem in terms of equivalence relation. Let $Y$ be a set of 2-subsets of $X$, and define $Z = \{\{a,b\} \in Y | f(a) = f(b) \}$. Give equivalence relation $\sim$ on $Y$ to be $\{a,b\} \sim \{c,d\}$ iff $a,b,c,d$ are colinear. If $\mathcal{P}$ is a partition induced by $\sim$, then the problem is asking for the existence of $P \in \mathcal{P}$ such that $P \subseteq Z$.
When presenting this problem, my instructor said that combinatorial proof is very complicated, but there is a simple topological proof. Indeed I cannot figure out what to do after the reduction. What are the topological properties that I can exploit to attack this problem? How can I lead to a proof with those properties?
Thanks in advance for every help, hint, or solution.
 A: The following uses your definitions and claim above (prior to reduction). This is an unfinished combinatorial proof attempt using induction, just to have it up here for discussion.

$\bullet\text{ }\underline{Base\text{ }Case\text{ }(n=3):}$
Suppose there are $n=3$ points in $X$. Then since we assume the map $f$ is onto $\{0,1\}$, we must have strictly two points of the same color. To assign names:
$$\exists p,q,r\in X:\text{ }f(p) = f(q)\neq f(r).$$
Since any two points are colinear, we have a candidate line $L_{p,q}$ through $p$ and $q$. Since not all points in $X$ are colinear (by assumption), this forces $r\notin L_{p,q}$.
As one can see, $L_{p,q}$ satisfies (a) and (b). 
To spell it out, $L:= L_{p,q}$ contains at least two points of $X$ and all points on $L\cap X$ have the same color ($f(p)=f(q)$).

$\bullet\text{ }\underline{Hypothesis\text{ }Case\text{ }(n=k):}$
Now, assume true for fixed $k\geq 3$. We have a set of points:
$$X := \{p_1,...,p_k\}\subseteq\mathbb{R}^2,$$
a coloring function:
$$f:X\to \{0,1\},$$
and there exists a line:
$$\exists L:= L_{p_ip_j}:= \{p_i+(p_j-p_i)t\text{ }|\text{ }t\in \mathbb{R}\}\subseteq\mathbb{R}^2$$
such that:
$$\forall x,y\in X\cap L:\text{ }f(x)=f(y).$$
Moreover, we have $X\cap L \neq X$ (by assumption all points of $X$ are not on the same line).

$\bullet\text{ }\underline{Step\text{ }Case\text{ }(n=k+1):}$
Given the previous case, let us append the data:
$$X := X\cup \{p_{k+1}\}\text{ }\text{ }\text{ and }\text{ }\text{ }Im(f):= Im(f)\cup\{f(p_{k+1})\}.$$
Taking a line, $L= L_{p_i,p_j}$, postulated to exist by the last case, we have four possibilities.
$\circ\text{ }\underline{Case\text{ }\big(f(p_{k+1})=f(p_i)\big)\wedge \big(p_{k+1}\notin L\big):}$
$\text{ }\text{ }\{$then $L$ still $\color{green}{\text{satisfies (a) and (b)}}$.$\}$
$\circ\text{ }\underline{Case\text{ }\big(f(p_{k+1})\neq f(p_i)\big)\wedge \big(p_{k+1}\notin L\big):}$
$\text{ }\text{ }\{$then $L$ still $\color{green}{\text{satisfies (a) and (b)}}$. $\}$
$\circ\text{ }\underline{Case \text{ }\big(f(p_{k+1})=f(p_i)\big)\wedge \big(p_{k+1}\in L\big):}$
$\text{ }\text{ }\{$then $L$ $\color{green}{\text{satisfies (a) and (b)}}$ with the new point.$\}$
$\circ\text{ }\underline{Case\text{ }\big(f(p_{k+1})\neq f(p_i)\big)\wedge \big(p_{k+1}\in L\big):}$
$\text{ }\text{ }\{$Then $\color{red}{\text{(b) fails}}$ for $L$. We have the new point is on the line, but it is differently colored. We know as well, that not all points in $X$ are on the line. So,
$$\exists p_0\in X-L\text{ }\text{ }\text{ with }\text{ }\text{ }f(p_0)\in\{0,1\}.$$
Notice now we have 4 isolated points and colors from $X$ (namely: $p_0,p_i,p_j,\text{ and }p_{k+1}$). If $(k=3)$, defining a new line $L':= L_{p_0,p_{k+1}}$ $\color{green}{\text{satisfies (a) and (b)}}$ because we know $f(p_0) = f(p_{k+1})$ and there are no other points to make (b) fail for the new line. 
Otherwise for $(k\geq 4)$, we have an indefinite, but finite amount of steps to prove this exhaustively--potentially requiring another induction proof that would trump this one. The idea is to create a new line whenever an obstruction occurs and to rule out membership of the previous points encountered. Repeat until you find a line that works or you run out of points. We also do not yet have a guarantee that the final 'else' condition will yield the desired result. $\color{red}{[...]}$.
$\text{ }\text{ }\}$
