Cubic equations prior to Cardano


Problems which we would answer by setting up one or more linear or quadratic equations to solve abound in mathematical texts starting with the Babylonian clay tablets from 1600 bc. Problems leading to cubic equations are more rare, perhaps because they are harder to solve. Here is a series of problems leading to cubics which occurred prior to Cardano in 1400.


Problem: (Oracle at Delphi) Given a cube of side a, construct a cube whose volume is doubled.


The solution of this problem involves solving the equation [Maple Math] . Divide both sides by x, and get the equation [Maple Math] . Geometrically, the solution is the first coordinate of the intersection of the parabola [Maple Math] with the hyperbola [Maple Math] . This was recognized early on by the Greeks as far back as Menaechmus. So they could really have used a graphing calculator.


> plot({x^2,2/x},x=0..2,y=0..5,color=black);

[Maple Plot]


>


Problem: (Archimedes 250bc) Cut a sphere into two pieces so that the ratio of the volumes of the pieces is a given proportion.


We could easily solve if we could simply cut a piece off the sphere of radius 1 whose volume was a specified fraction of [Maple Math] . Archimedes solved this problem geometrically, by intersecting a parabola with a hyperbola. That's because algebraically, it reduces to solving a cubic equation.


> restart;


Set up the equation. Using calculus, we would calculate the area of the section of the sphere of radius 1 from -1 to x as [Maple Math] . Then the equation we want to solve is


> eqn:=int(Pi*(1-t^2),t=-1..x)/int(Pi*(1-t^2),t=-1..1) = a/b;

[Maple Math]


> eqn:=simplify(eqn - (1/2 = 1/2));

[Maple Math]


Rewriting to get a hyperbola = parabola:


> eqn := eqn/(-1/4*x);

[Maple Math]


Now make a function to study the intersection


> f := (a,b) -> plot({x^2-3,-2*(2*a-b)/(x*b)},x=-1..1,y=-4..0,color=black,discont=true);

[Maple Math]


> f(2,3);

[Maple Plot]



> plots[display]([seq(f(2,3+i/20),i=-10..10)],insequence=true);

[Maple Plot]


> f := proc(a,b)
local solx,soly,pl1,pl2,txt;
solx := fsolve(x*b*(x^2-3)=-2*(2*a-b) ,x,-1..1):
soly := solx^2-3;
pl1 := plot([[0,soly],[solx, soly]],color=magenta,thickness=2);
pl2:=plot({x^2-3,-2*(2*a-b)/(x*b)},x=-1..1,y=-4..0,color=black,discont=true);
txt := plots[textplot]([solx/2,soly+.2,
convert(evalf(solx,5),string)]);
plots[display]([pl1,pl2,txt]); end:


> f(9,11);

[Maple Plot]


> plots[display]([seq(f(2,3+i/20),i=-10..10)],insequence=true);

[Maple Plot]


Problem: (Diophantus 200AD) To find two numbers, one a square and one a cube, so that the sum of their squares is a square.


Solution: find x,y, and z so that [Maple Math] .


> eqn:=(x^2)^2+(y^2)^3 = z^2;

[Maple Math]


>


Diophantus assumes [Maple Math] and [Maple Math]


> eqn := subs({z = k*y^2,x=2*y},eqn);

[Maple Math]


> eqn:=simplify(eqn/y^4);

[Maple Math]


By inspection take y = 3, k = 5, so x = 6 and z = 45. Checking


> (6^2)^2 + (3^3)^2 = 45^2;

[Maple Math]


Problem. Find another integer solution to this problem.


>


>


Problem: (Diophantus) To add the same number to a cube and its side and make the first sum the cube of the second sum.


Solution: Find x and y so that [Maple Math] . First he lets x = 2*y


> eqn := x^3+y = (x+y)^3;

[Maple Math]


> eqn:=subs(x=2*y,eqn);

[Maple Math]


> eqn := simplify(eqn/y);

[Maple Math]


> eqn := y^2=solve(eqn,y^2);

[Maple Math]


But 19 is not a square.


> eqn := x^3+y = (x+y)^3;

[Maple Math]


> eqn2:=subs(x=k*y,eqn);

[Maple Math]


> collect((collect(rhs(eqn2),y)-lhs(eqn2)+y),y)/y=1;

[Maple Math]


The problem reduces to finding two consecutive integers such that the difference of their cubes is a square.


7 and 8 satisfy this


> sqrt(8^3 - 7^3);


>

[Maple Math]


> subs({x=7/13,y=1/13},eqn);

[Maple Math]


Omar Khayyam studied the cubic equations in the manner of Archimedes, that is, he solved them by means of conic sections. However, he wanted algorithms for solving them algebraically.



Problem (Khayyam 1050AD) Negative coefficients were not allowed, so he counted altogether 14 different types of cubic equations: (what were they?)


Partial Solution. (all parameters are positive)


I [Maple Math]


II




Problem (Fibonnaci 1200AD) supposedly (according to Katz, History of Math) showed that the roots of [Maple Math] are not of the form [Maple Math] for any rational a ,b, and c. Do the same.


Solution: I have no idea where Fibonacci got his cubic from. I expect it arose in some natural way.


First see that the equation has no rational solution. (The rational root theorem says the only possiblilies are the numbers of the form 1/n, where n is a factor of 20. We can check that none of these are roots.)


> restart;


> eqn := x^3+2*x^2+10*x- 20;

[Maple Math]


> possibleroots := [1/20,-1/20,1/10,-1/10,1/5,-1/5,1/2,-1/2];

[Maple Math]


> seq(subs(x=rt,eqn),rt=possibleroots);

[Maple Math]


Suppose [Maple Math] is a root. Let sqrc denote [Maple Math] . Since [Maple Math] is not rational, sqrc is not rational. But plug x=a+b*sqrc into eqn and solve for sqrc:



> eqn2:=subs(x=a+b*sqrc,eqn);

[Maple Math]


> eqn3:=subs(sqrc^2=c,expand(eqn2));

[Maple Math]


>


> eqn4:=subs(sqrc^3=c*sqrc,expand(eqn3));

[Maple Math]


> solve(eqn4,{sqrc});


>

[Maple Math]


we get that [Maple Math] is a rational number!. This is a contradiction, so there is no root of the form [Maple Math] .



Fibonacci was well on his way to showing that none of the roots of his cubic are constructible by straight edge and compass, so he was about 600 years ahead of his time. Let us agree that the definition of constructible given below characterizes the notion of constructible by straight edge and compass.



Definition. A number is constructible if it can be arrived at from the rationals using a finite number of applications of the four arithmetic operations together with the operation of taking the positive square root of a positive number.



Theorem No root of [Maple Math] is constructible.



Proof: Suppose a root x is constructible. Let n the number of times the operation of square root must be used to obtain x. So from Fibonacci's Problem, we know that n >1. Let [Maple Math] i = 1..n, be the square roots that are formed successively in the construction of x. Then [Maple Math] is rational but [Maple Math] is not rational, and for each [Maple Math] , [Maple Math] is of the form [Maple Math] where [Maple Math] and [Maple Math] are formed from the rationals and [Maple Math] , .., [Maple Math] using +, -, *, and / a finite number of times, but [Maple Math] is not of that form, and x = [Maple Math] , where [Maple Math] and [Maple Math] are formed from the rationals and [Maple Math] , .., [Maple Math] using +, -, *, and / a finite number of times, but [Maple Math] is not of that form. (Here you need to use the fact that [Maple Math] = [Maple Math] , by 'rationalizing' the denominator.) But if we substitute [Maple Math] into Fibonacci's cubic, and manipulate as he did, we see that [Maple Math] can be written as a rational combination of [Maple Math] and [Maple Math] .



> eqn2:=subs(x=a[n]+b[n]*sqrc[n],eqn);

[Maple Math]


> eqn3:=subs(sqrc[n]^2=c[n],expand(eqn2));


[Maple Math]
[Maple Math]


>


> eqn4:=subs(sqrc[n]^3=c[n]*sqrc[n],expand(eqn3));


[Maple Math]
[Maple Math]


>


> solve(eqn4,{sqrc[n]});

[Maple Math]


So we conclude that there is no constructible solution to Fibonacci's cubic.



Problem: Show [Maple Math] is irrational (hint: suppose [Maple Math] is rational. Derive a contradiction. Or use the rational root theorem.)



Problem. Show that [Maple Math] is not constructible.


Solution hint: Note that [Maple Math] is a root of x^3 - 2. Proceed in the same manner as we did for Fibonacci's cubic.


Looking at the roots of a cubic


We can draw a picture locating the roots of a cubic in the complex plane. Let's illustrate with Fibonacci's cubic.


First define the equation.


> eqn := x^3+2*x^2+10*x-20;

[Maple Math]


Solve it with solve. You will always get three roots for a cubic, even repeated roots.


> solve(x^3,x);

[Maple Math]


> sol :=solve(eqn,x);


[Maple Math]
[Maple Math]
[Maple Math]


> evalf([sol]);

[Maple Math]


Each of the roots is a complex number z = [Maple Math] , with a real part a = Re(z) and imaginary part b = Im(z). So to reference the imaginary part of the second root,


> Im(sol[2])=evalf(Im(sol[2]));

[Maple Math]


To construct the list of points in the plane representing the roots, form the sequence


> rts := seq([Re(sol[i]),Im(sol[i])],i=1..3);


[Maple Math]
[Maple Math]
[Maple Math]


Then to draw them, use plot.


> plot({rts},style=point,symbol=circle);

[Maple Plot]


Now, suppose I wanted to study the motion of the roots of Fibonacci's cubic as the coefficient of [Maple Math] decreases from 2 to 0. We could copy down the cells from above and modify them to produce a plot of the roots of x^3 + a*x^2 + 10*x -20 for any a.


> drawem := proc(a)
local eqn,x, i,sol,rts;


> eqn := x^3+a*x^2+10*x-20 ;


> sol :=solve(eqn,x);


> rts := seq([Re(sol[i]),Im(sol[i])],i=1..3);


> plot({rts},style=point,symbol=circle);
end:


Now testing this


> drawem(2);

[Maple Plot]


Now construct a sequence of 21 plots of the roots as a moves from 2 to 0 like this.


> plots[display]([seq(drawem(2-i/10),i=0..20)],insequence=true);

[Maple Plot]


>


Note that as a moves from 2 back to 0, the real root moves forward from about 1.4 to 1.6, so it moves across 1.5 = 3/2.


Plug x = 3/2 into the equation [Maple Math] and solve for a.


> eqn:=x^3+a*x^2+10*x-20;

[Maple Math]


> solve(subs(x=3/2,eqn),a);

[Maple Math]


This says that the equation [Maple Math] not only has a constructible root, it has a rational root. In other words, by decreasing the coefficient of [Maple Math] by 1 and 5/18 we get an equation with a rational root.


Problem: Show that we can decrease the coefficient of [Maple Math] by a rational amount as small as we like and get an equation with a rational root.