Hola
Viendo ahora el desarrollo de la ecuación, entiendo a lo que te refieres por "horripilante". Si se pudiera simplificar un poco seria estupendo, sino, habrá que armarse de paciencia e introducir esa ecuación con cuidado, lo importante es que el resultado sea exacto.
Te propongo ahora algo más ligero.
Primero define la función:
sol[e_, d_, c_, b_, a_] := -b/(4 a) -
1/2 Sqrt[b^2/(4 a^2) - 2 c/(3 a) +
2^(1/3) (c^2 - 3 b d +
12 a e)/(3 a (2 c^3 - 9 b c d + 27 a d^2 + 27 b^2 e -
72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 - 9 b c d +
27 a d^2 + 27 b^2 e - 72 a c e)^2])^(1/3)) +
1/(3 2^(1/3) a) (2 c^3 - 9 b c d + 27 a d^2 + 27 b^2 e -
72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 - 9 b c d +
27 a d^2 + 27 b^2 e - 72 a c e)^2])^(1/3)] +
1/2 Sqrt[b^2/(2 a^2) - 4 c/(3 a) -
2^(1/3) (c^2 - 3 b d +
12 a e)/(3 a (2 c^3 - 9 b c d + 27 a d^2 + 27 b^2 e -
72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 - 9 b c d +
27 a d^2 + 27 b^2 e - 72 a c e)^2])^(1/3)) -
1/(3 2^(1/3) a) (2 c^3 - 9 b c d + 27 a d^2 + 27 b^2 e -
72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 - 9 b c d +
27 a d^2 + 27 b^2 e - 72 a c e)^2])^(1/3) - (-b^3/a^3 +
4 b c/a^2 -
8 d/a)/(4 Sqrt[
b^2/(4 a^2) - 2 c/(3 a) +
2^(1/3) (c^2 - 3 b d +
12 a e)/(3 a ((2 c^3 - 9 b c d + 27 a d^2 + 27 b^2 e -
72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 -
9 b c d + 27 a d^2 + 27 b^2 e - 72 a c e)^2]))^(1/
3)) + 1/(3 2^(1/3) a) (2 c^3 - 9 b c d + 27 a d^2 +
27 b^2 e - 72 a c e +
Sqrt[-4 (c^2 - 3 b d + 12 a e)^3 + (2 c^3 - 9 b c d +
27 a d^2 + 27 b^2 e - 72 a c e)^2])^(1/3)])]
Si lo prefires es la segunda de las que vienen en este enlace:
http://www.josechu.com/ecuaciones_polinomicas/cuartica_solucion_es.htmLuego el valor de \( y \) para tu problema con datos \( p,q,h,A \) (ojo \( A \) mayúscula para diferenciarla de la variable a de la función anterior), viene dado por la función:
y[A_,p_,q_,h_]=sol[A^4 h^2 - A^2 h^4, 2 A^2 h^2 p, -4 A^2 h^2 + h^4 - A^2 p^2 +
2 A^2 p q - A^2 q^2 + h^2 q^2, -2 h^2 p - 2 h^2 q,
4 h^2 + p^2 - 2 p q + q^2]
(nota que en las fórmulas no están colocados los signos por; se supone que entre dos letras consecutivas o un número y una letra lo que se hace es multiplicar; el Mathematica, que es donde hice todo esto admite ese convenio; en otro lenguaje probablemente tengas que molestarte en meter a mano los signos de multiplicar.
Saludos.