Real-valued Discrete Fourier Transform I have sequence of $N$ real numbers: $\mathbf{x} = (x_0, x_1, \ldots, x_{N-1})$.
Discrete Fourier Transform (DFT) is defined as
$$
X_k = \sum_{n=0}^{N-1} x_n e^{-i 2\pi k \frac{n}{N}}, \quad (k=0,1,\ldots,N-1).
$$
Coefficients $X_0,X_1,\ldots,X_{N-1}$ are complex-valued at all.

How to change starting sequence $\mathbf{x}$ to make all its DFT- coefficients  $X_k$ real-valued?

"To change" I mean to multiply each term $x_n$ by some $z_n\in \mathbb{C}, |z_n|=1, \quad n=0,1,\ldots,N-1$.
Thanks!

The condition $\overline{X_k} = X_k$ can be written as 
$$  \sum_{n=0}^{N-1} \bar{x}_n  e^{ i 2\pi k \frac{n}{N}} =   \sum_{n=0}^{N-1} x_n e^{-i 2\pi k \frac{n}{N}} \tag{1}$$
The change of index $n \mapsto N -n$ turns the left sum in (1) into 
$$ \sum_{n=1}^{N  } \bar{x}_{N-n}  e^{ - i 2\pi k \frac{n}{N}} \tag{2}$$
Comparing the right sides of (1) and (2), and recalling  that DFT is an injective transformation, we see that $x_n = \bar x_{N-n}$ for $n=1,\dots,N-1$; and also $x_0=\bar x_0$. These are necessary and sufficient conditions for the DFT to be real. 
Multiplying $x_n$ by unimodular constants, you can certainly achieve $x_0=\bar x_0$. But you can't get $x_n = \bar x_{N-n}$ in this way, unless you have $|x_n|=|x_{N-n}|$.
