Distinct real N tuples can be dotted by another to give distinct real numbers Given $ x_1,x_2, ..., x_n$ distinct real $N$ tuples. Show that there exists a $N$ tuple $a$ such that $(x_i . a)^n_{i=1}$ are all distinct where .  is the real dot product. 
Thoughts: I tried proving the contrapositive using the pigeonhole principle and the non-degeneracy of the real dot product. However I was only able to show (wlog) that $x_1.a=x_2.a$ for infinitely many $a$. But this doesn't give $x_1=x_2$.
A comment on background: 
Let $H$ be a diagonalisable operator on a real/complex vector space $V$. Then we know that $V=\oplus V_i $ where $V_i$ is the eigenspace corresponding to distinct eigenvalues $\lambda_i$ of $H$. That the sum is direct relies on the fact that the $\lambda_i$'s are distinct. 
In Lie algebras we often consider the eigen-decomposition of a  space acted upon  by not just one diagonalisable operator $H$ but by a vector space of mutually commuting diagonalisable operators (the vector space we have in mind is the Cartan subalgebra). In this situation, the analogous eigenspaces are known as the weight spaces and to show their sum is direct, it is sufficient to prove what I have asked. 

Given two distinct $x_i, x_j$, the set $B_{ij}$ of tuples $b$ such that $b\cdot x_i=b\cdot x_j$ is a hyperplane that goes through the origin. There are at most $\frac{n(n-1)}{2}$ distinct such $B_{ij}$, which means that the set $$A=\Bbb R^N\setminus\bigcup_{1\leq i<j\leq n}B_{ij}$$is non-empty (you would need the number of distinct $B$ to be uncountably infinite to even hope to cover all of $\Bbb R^N$). Let $a$ be any element of $A$, and you have the result. 
