What essentially happens in this proof? We repeat the usual proof, but replace the fundamental linear algebraic theorem 

**$n$ vectors in $K^{n-1}$ are linearly dependent over $K$** 

for $K=\mathbb{Q}$ by its counting proof. 

Let me give here the proofs for finite $K$ and for $K=\mathbb{Q}$ explicitely. Let $v_1,\dots,v_n$ be vectors in $K^{n-1}$m we need to find their linear dependence.

1) $K$ is finite, $|K|=q$. There exist $q^n$ linear combinations of $v_1,\dots,v_n$, which take only $q^{n-1}$ values. Two of them are equal by pigeonhole principle, that's what we need.

2) The same trick works for $\mathbb{Q}$, it essentially what is noted by Sundar Vishwanathan. Choose at first positive integer $N$ such that $u_i:=Nv_i\in \mathbb{Z}^{n-1}$. Then denote by $M$ the maximum of absolute values of coordinates of $u_1,\dots,u_{n}$. Consider all $(K+1)^n$ linear combinations $c_1u_1+\dots+c_n u_n$, where $c_i\in \{0,1,\dots,K\}$. They belong to the set $\{-nMK,-nMK+1,\dots,nMK-1,nMK\}^{n-1}$. So, if $(2nMK+1)^{n-1}<(K+1)^n$ (true for large $K$), by pigeonhole principle there are two equal values of linear combinations, hence $u_1,\dots,u_n$ are linearly dependent with integer coefficients, as desired.

Applications of linear algebra in combinatorics often use this fundamental theorem either over finite fields, like in oddtown theorem (where the same counting argument works even easier) or over $\mathbb{Q}$. I think, we really need $\mathbb{R}$ or $\mathbb{C}$ only when we come to eigenvalues.