Let me label the initially moving ball $A$ and the initially at rest ball $B$
Momentum and energy are of course conserved:
$$m_a\vec v_a = m_a\vec v_a' + m_b\vec v_b'$$
$$m_av_a^2 = m_av_a'^2 + m_bv_b'^2 \rightarrow v_a^2 = v_a'^2 + v_b'^2$$
Where primed velocities mean velocities after the elastic collision.
One can cancel the masses out in the above equations.
As said, algebra gets messy in this problem so let me use a geometrical approach:
Note that momentum is a vector, which means that we can describe conservation of momentum by a (velocity) vector diagram (note masses get canceled out and thus play no role):

Note that, as momentum is conserved, the momentum lost by the incoming ball after the collision is the momentum the rest ball has gained. This means that the (vector) sum of the final velocities must be equal to the total initial velocity (i.e. it is equal to the initial velocity of the incoming particle). This means that the vector diagram can be redrawn as follows:

However the key of the problem lies on the energy conservation equation.
$$v_a^2 = v_a'^2 + v_b'^2$$
Think about this equation while having a look at the above triangle*. Doesn't ring the bell? Yeah, Pythagoras' theorem!
Based on Pythagoras' theorem, our triangle must have a right angle:

Then $\alpha + \beta = 90°$. Thus the angle between the two final velocities is $90°$.
*Don't get stuck thinking that energy is not a vector and thus we shouldn't think of the diagram; notice the energy equation represents the magnitude of the vectors.
Think like this if you wish: 1) let's draw the velocity vectors based on conservation of momentum 2) Now let's think of Pythagoras' theorem for such a triangle.