Fork me on GitHub
Math for the people, by the people.

User login

quartic formula

biquadratic formula, quartic equation, biquadratic equation
Type of Math Object: 
Major Section: 
Groups audience: 

Mathematics Subject Classification

12D10 no label found



"The formulas for the roots are much too unwieldy to be used for solving quartic equations by radicals, even with the help of a computer."

I think we could compute the roots almost "easily" which this procedure:

%%%% begin MATLAB code %%%%
a3 = a;
a2 = b;
a1 = c;
a0 = d;

T1 = -a3/4;
T2 = a2^2 - 3*a3*a1 + 12*a0;
T3 = (2*a2^3 - 9*a3*a2*a1 + 27*a1^2 + 27*a3^2*a0 - 72*a2*a0)/2;
T4 = (-a3^3 + 4*a3*a2 - 8*a1)/32;
T5 = (3*a3^2 - 8*a2)/48;

R1 = sqrt(T3^2 - T2^3);
R2 = cubic_root(T3 + R1);
R3 = (1/12)*(T2/R2 + R2);
R4 = sqrt(T5 + R3);
R5 = 2*T5 - R3;
R6 = T4/R4;

r1 = T1 - R4 - sqrt(R5 - R6);
r2 = T1 - R4 + sqrt(R5 - R6);
r3 = T1 + R4 - sqrt(R5 + R6);
r4 = T1 + R4 + sqrt(R5 + R6);
%%%% end MATLAB code %%%

I does some tests and I think this code is correct.
My (not ease) job was to extract the Ts and Rs from your set of equations...

The cubic_root function must be

%%%% MATLAB code %%%
function v = cubic_root(u)
if imag(u) == 0 & real(u) < 0
v = -(abs(u)^(1/3));
v = u^(1/3);
%%%% end MATLAB code %%%

I think this may be helpful.

Adalberto Ayjara Dornelles Filho
Caxias do Sul, Brasil

Hi Adalberto,
I've done a very similar work on Matlab and I find the same results as yours with my script.
But I have serious doubts about the programs (or formulas ???) : when I try the parameters (0,0,0,-1) for the equations x^4-1=0, I find only one (false) root : 0.
Where is the problem ?
Thanks for reply me.

Best regards,
Benoît THOUY
Grenoble, France

Dear Benoit,

I think the problem is in R6 computation.
a3 = 0, a2 = 0, a1 = 0, a0 = -1,
we have
T1 = -a3/4 = 0
T2 = a2^2 - 3*a3*a1 + 12*a0 = -12
T3 = (2*a2^3 - 9*a3*a2*a1 + 27*a1^2 + 27*a3^2*a0 - 72*a2*a0)/2 = 0
T4 = (-a3^3 + 4*a3*a2 - 8*a1)/32 = 0
T5 = (3*a3^2 - 8*a2)/48 = 0
R1 = sqrt(T3^2 - T2^3) = 24 sqrt(3)
R2 = root[3](T3 + R1) = 2 sqrt(3)
R3 = (1/12)*(T2/R2 + R2) = 0
R4 = sqrt(T5 + R3) = 0
R5 = 2*T5 - R3 =
R6 = T4/R4 = 0/0 (problem!)

I don't know how to fix it. Maybe some algebraic manipulation...
If you have some idea, please contact.

There are also online solvers that offer immediate-for-use solutions. For example, the program at the following URL is a very good Quartic Equation Solver:

It is free, quick, easy to use--and it works.

Good evening.

Using the formula, I have tried to solve the following quartic equation:

0=x^4-2x^3+4x^2-3x-10 (i.e: a=-2 , b=4 , c=-3 , d=-10), which has 2 real solutions and 2 complex ones.

However, when I came to the last "part" of the formula - the last fraction with the numerator of (-a^3+4ab-8c) - I was surprised to see that, after having applied the required calculations, the denominator of this fraction ended up being equal to 0, making any attempt to solve the equation using the formula vain.

Have I missed something important?

Please give feedback.

Let x = u + 1/2 and you get

u^4 + (5/2)u^2 - 171/16 = 0

I don't know what formula you were using, but I suspect it assumed that the depressed quartic polynomial wasn't biquadratic.

Note that the .pdf version is not fully readable. Can this be rectified? Thanks.

super long lines don’t display very well in the HTML version either, I see.

Well, you can download the source and try to compile it yourself into a poster of some kind… is that sufficient?

Long term, I can look for a strategy to wrap lines in the PDFs.

Thanks for the report!


Deep looking at formulas in pdf figure, I reach this:
%%% begin Matlab code %%%
a3 = a
a2 = b
a1 = c
a0 = c

T1 = -a3/4;
T2 = a2^2 - 3*a3*a1 + 12*a0;
T3 = (2*a2^3 - 9*a3*a2*a1 + 27*a1^2 + 27*a3^2*a0 - 72*a2*a0)/2;
T4 = (-a3^3 + 4*a3*a2 - 8*a1)/32;
T5 = (3*a3^2 - 8*a2)/48;

R1 = power(T3^2 - T2^3, 1/2); % power -> 1st primitive root
R2 = power(T3 + R1, 1/3);
R3 = (1/12)*(T2/R2 + R2);
R4 = power(T5 + R3, 1/2);
R5 = 2*T5 - R3;
if abs(T4) < 1e-10 && abs(R4) < 1e-10 % ideally: if T4 = R4 = 0
R6 = 1;
R4 = 0;
R6 = T4/R4;
z(1,1) = T1 + R4 + power(R5 + R6, 1/2);
z(2,1) = T1 + R4 - power(R5 + R6, 1/2);
z(3,1) = T1 - R4 + power(R5 - R6, 1/2);
z(4,1) = T1 - R4 - power(R5 - R6, 1/2);
%%% end Matlab code %%%

This code works in most of cases I have tested. But, not in "potato_jack" example.

There are no Carmichael numbers in Z(i). 561, which is the smallest Carmichael number in Z, is only a pseudoprime in Z(i).(one of the valid bases is (10 +i). Similarly 1105 is only a pseudoprime in Z(i)- one of the bases is (6 + i).

I had submitted a paper at the Hawaii International conference on mathematics entitled ” Euler’s generalisation of Fermat’s theorem - a further generalisation in 2004 ”. That paper pertained to the ring of integers. I now find that it is true in the ring of Gaussian integers too.

I am not able to post messages; Unlord should do something about this.

Search engine is still not functioning.

This theorem states that if a^x + c = m then a^(x+k*phi(m)) +c is congruent to 0 (mod m). Here a,x and c belong to N, x is not fixed. k also belongs to N. Ref: ISSN 1550 - 3747

a) Fermat’s theorem works only in the case of primes of shape 4m+1. b)Euler’s generalisation of Fermat’s theorem works only when composite numbers each of which is prime of shape 4m + 1 ( in the case of two-member composites -the only exception being 15 ).

(to be continued ).

In the case of 3-factor composites Euler’s generalisation of Fermat’s theorem works in the ring of Gaussian integers irrespective of the shape of the prime factors.

Consider integers of the form x^2 + 1. The relevant failure functions pertaining to f(x) = x^2 + 1 are x = 1 +2*k, 2 +5*k, 4 + 17k etc. All the values of x not covered by the above are such that f(x) are prime and these need not be tested for primality. Here k belongs to Z.

The object of this message is to demonstrate the application of failure functions in sketching a possible proof of the conjecture that there are infinitely many primes of the form x^2 + 1. Let p_0 be the largest known prime of form x^2 + 1. Let x_0 be the value of x such that x_0^2 + 1 = p_0. Consider the interval x_0, x_0 + p_0. (This interval is chosen since (x_0 + p_0)^2 + 1 is congruent to 0 mod (p_0)). Iteration 1: Let x_1 be the largest value of x in the above interval not covered by the relevant failure functions viz x = 1 + 2*k, 2 + 5*k, 4 + 17*k, 6 + 37*k …… x_1^2 + 1 is prime (see message: application of failure functions ). Let p_1 be this prime i.e. x_1^2 + 1 = p_1. Note that p_1 is greater than p_0.Iteration 2: consider the interval x_1, x_1 + p_1. Repeat step 1. Let x_2 be the largest x not covered by the relevant failure functions. x_2^2 + 1 is prime; let this be p_2. Repeat the iteration considering the interval x_2, x_2 + p_2. Repeat iterations outlined in iteration 1 and 2. Let p_i be the prime so obtained in iteration no.i. i.e. x_i^2 +1 =p_i. Note as i increases p_i also increases. Conjecture: after repeated iterations it will be found that the percentage of x not covered by the relevant failure functions is asymptotic to 3. To go from iteration i to iteration i + 1 we need only one x not covered by any of the relevant failure functions.

The iteration comes to an end only if all the values of x in the interval x_i, x_i + p_i are covered by the failure functions. This is highly improbable.

Since the iteration is perpetual there are infinitely many primes of the form x^2 + 1.

Needless to say only a programmer can say, after repeated iterations, how alpha, the percentage of x not covered by the relevant failure functions becomes asymptotic to 3 or not. Conjecture: iteration is perpetual - hence there are infinitely many primes of form x^2 + 1.

Subscribe to Comments for "quartic formula"