More on Fibonnaci
Problems from his books.
Two of his books were Liber Abaci and Liber Quadratorum. These were used as texts and so they had exercises in them. Here are a few choice ones.
1. A bird sitting on the top of a 40 foot tower starts flying to a fountain located between the 40 foot tower and a 30 foot tower. At the same time, a bird on the 30 foot tower starts flying at the same speed toward the fountain also. If the towers are 50 feet apart and the birds reach the fountain at the same time, how far is the fountain from the 40 foot tower?
Hint: Solve this with analytic geometry. Here's a picture to look at.
>
wherefount:=t ->plot({[[0,40],[0,0]],[[0,40],[t,0]],
[[t,0],[50,30]],[[50,0],[50,30]]},
color=blue,scaling=constrained);
> wherefount(20);
the fountain looks to be less than 20 feet from from the 40 foot tower.
2 Given the squares of three successive odd numbers, show that the largest square exceeds the middle square by eight more than the middle square exceeds the smallest.
> 7^2-5^2 - (5^2-3^2);
> 171^2 - 169^2 - (169^2 - 167^2);
> (x+4)^2 - (x+2)^2 - ((x+2)^2- x^2);
> expand(%);
So, actually the numbers don't have to be odd. Any numbers will do.
3. Suppose the sum of two consecutive integers is a square, then the square of the larger will equal the sum of two squares. Verify this assertion and illustrate with some examples.
>
>
>
>
4. Verify the algebraic identity
=
=
and use it to express 481 = 13*37 as a sum of squares in two different ways.
> (a^2+b^2)*(c^2+d^2)-((a*c+b*d)^2+(a*d-b*c)^2);
> expand(%);
So the first equation holds
> (a^2+b^2)*(c^2+d^2)-((a*d+b*c)^2+(a*c-b*d)^2);
> expand(%);
So the second equation holds
To do the last part, we want to find a, b, c, and d so that
and
and then use the identity. Finish this.
>
Fibonacci's work on Pythagorean triples
Fibonnaci was the first to prove the formulas for getting all Pythagorean triples, which was indicated in Diophantus' book. This remarkable formula has a history which can be traced back to the Plimpton 322 tablet where a one parameter version was evidently used to generate the pythagorean triples on the tablet.
Theorem (fibonnaci):
a triple of positive integers (x,y,z) satisfies
if and only if there exist integers, 0 < r < s, and
so that
,
, and
.
Proof outline:
The if part is easy (once you have the formulas)
> x := 2*k*r*s ; y := k*(s^2-r^2); z := k*(s^2+r^2);
> x^2 + y^2 = z^2;
> expand(%);
We see by inspection that the two sides agree, so x, y and z form a pythagorean triple.
The only if part is Fibonacci's contribution:
Take a triple (X,Y,Z) so that
Let k be the gcd of X,Y, and Z and let
,
, and
.
Then show
1) (x,y,z) is a pythagorean triple.
2) Any two of x,y, and z are relatively prime, ie gcd is 1.
3) Either x is even and y is odd or vice versa.
So we can assume x is even and y and z are odd
so z + y and z - y are even, say z + y = 2*u and z - y = 2*v.
note here that z = u + v and y = u - v.
we want to show u and v are squares.
so
=
or
=
= uv
Now u and v are relatively prime (because z and y are),
It follows that u and v are squares, say
and
From this we get
, y = u - v =
, and z = u + v =
Hence
is a parameterization of the original triple.
qed.
> ptrip := (k,r,s) -> [2*k*r*s,k*(s^2-r^2),k*(s^2+r^2)];
> ptrip(1,2,10);
Problem . How many Pythagorean triples (x,y,z) satisfy x,y < 100? Plot them.
> trips := [0,0]: prims := NULL:
>
for k from 1 to 100 do for s from 2 to 40 do for r from 1 to s-2 do
test:= ptrip(k,r,s)[1..2]: if test[1] <100 and test[2] <100 then
if k =1 then prims := prims,test,[test[2],test[1]] else
trips:= trips,test,[test[2],test[1]] fi fi od od od:
>
> plt1 :=plot({trips},style=point,symbol=circle,color=blue,thickness=3,scaling=constrained):
> plt2 :=plot({prims},style=point,symbol=circle,color=red,thickness=3,scaling=constrained):
> nops([prims,trips]);
> plots[display]([plt1,plt2],scaling=constrained);
>
Fibonnaci's sequence
Fibonnaci sequence is defined recursively
, and for n >2,
. This can be defined in Maple.
>
F := proc(n)
options remember;
if n = 1 or n = 2 then 1 else F(n-1) + F(n-2) fi;
end;
So the 10th fibonnaci number is
> F(10);
The sequence of the first 10 is
> seq(F(n),n=1..10);
Problem : It is a theorem that any two consecutive Fibonnaci numbers are relatively prime. Collect some evidence. Use igcd (integer greatest common divisor function)
> igcd(F(20),F(21));
>
>
Problem
. It is a theorem that the limiting value of
is the golden mean
. Collect some evidence.