Cardan's Cubic Formula

Back when I taught university math, students would remember the quadratic formula and then naturally ask if there was a cubic formula, and how that works. Well here goes: We start with the general cubic equation \(a x^3+b x^2+c x+d=0\) and clean it up a bit: \[ x^3+b x^2+c x+d=0,\text \] where \(b/a, c/a\), and \(d/a\) have been replaced with \(b\), \(c\), and \(d\), respectively. Keep in mind the fact that \(x^3+b x^2+c x+d\) is a monic polynomial and that reducing to the monic case has no effect on the roots. Now, multiplying by \(z^3\)we conclude that \(y^3+p y+q=0\) is equivalent to the equation \[z^6+q z^3-\frac=0. \] This equation is called the cubic resolvent of the reduced cubic \(y^3+p y+q=0,\) and this can be written as \[ \left(z^3\right)^2+q z^3-\frac=0.\] By the quadratic formula we obtain \[ z^3=\frac\left(-q\pm \sqrt\right) \] so that \[ \left.z=\sqrt[3]\left(-q\pm \sqrt\right) \\ \] Substituing this gives a root of the reduced cubic \(y^3+p y+q\), and then \(x=y-b/3\) is a root of the cubic \(x^3+b x^2+c x+d\). Question: is this derivation correct, and if not why? By setting \(y^3+p y+q=0\), we essentially assumed that a solution exists. What justifies this assumption? A cubic equation has three roots, yet the cubic resolvent has degree 6. Why? We assumed \(z\neq 0\), what happens when \(z=0\)?