Given the cubic function: y = -3 + 10x - 7x^2 + 1x^3, how can I find a value of x when y = 0.5?
WolframAlpha shows 3 possible solutions when y = 0.5: 0.535, 1.256 and 5.209.
How did WolframAlpha calculate this?
Approximations are fine.
Ultimately I need to calculate this step by step in code, so showing your work is a huge help.
I'll be solving for x thousands of these with different coefficients and y values. In my particular case, y will always be between 0 and 1 and the only x I care about will also be between 0 and 1.

User Izumi Kawashima at StackOverflow pointed me to EasyCalculation.com's JavaScript algorithm (below). This made my job super easy.
His question is to find an even faster algorithm, so if you can think of one, I'm sure he'd appreciate it.
Posted here for posterity.