Super hard complex numbers problem: there do not exist $n>1$ complex numbers $z_1, z_2, \ldots, z_n$, no two equal, such that for all $1 \le k \le n$ Prove that there do not exist $n>1$ complex numbers $z_1, z_2, \ldots, z_n$, no two equal, such that for all $1 \le k \le n$
$$ \prod\limits_{i\neq k} (z_k-z_i)=\prod\limits_{i\neq k} (z_k+z_i)$$
At the first look it seems too easy to solve but after trying some methods I can't solve it.It seems to have no solutions so I tried to show their difference can't always equal to zero but I can't.The case $n=2$ Could easily solved by $$z_1-z_2 = z_1+z_2 = z_2+z_1 = z_2-z_1$$
Which forces to have $z_1=z_2$ The case $n=3$ takes some time but it is not very hard to check we don't have solutions there too.But I don't know how to solve it in general case maybe induction could work but I can't solve it using that too.Any hints?
Source:Iran third round math olympiad.

First reduce to the case where all of the $z_i$ are non-zero.
Define polynomials $p,q,r$ by $p(z)=\prod_{i=1}^n(z-z_i)$ and $q(z)=2z\frac{dp}{dz}$ and $r(z)=\prod_{i=1}^n(z+z_i).$ Then your equations are equivalent to $q(z_k)=r(z_k)$ for $1\leq k\leq n.$ This implies $q+(-1)^np=r:$ both sides match at $n$ points and at zero. But then the leading coefficients only match if $2n+(-1)^n=1,$ which forces $n\leq 1.$
