Schau dir deinen Code mal genauer an und guck,
was du da potenzierst - auf jeden Fall nicht das "x"
Dann: Ein Vergleich von Floats (= 0) ist immer eine schlechte Idee, was mit der Zahldarstellung im Rechner und damit verbundenen Ungenauigkeiten zu tun hat.
Weiter: Überleg mal, wie lang deine Berechnung dauert, wenn die Nullstelle weiter hinten liegt...du machst das in 0.0000000000000001-er Schritten. D.h. du brauchst 1.000.000.000.000.000 Schritte, um eine Nullstelle bei 1 zu finden.
Ich weiß, dass es eine Formel für Gleichungen dritten Grades gibt - schau mal bei Wikipedia, da sollte man das nachlesen können. Ansonsten helfen iterative Verfahren wie z.B. das Newton-Verfahren, um eine Nullstelle zu finden.
Die andere Frage hab ich mal gelöscht - Bitte erstelle dafür einen eigenen Thread

We are, we were and will not be.