Pensieve header: Computing the Fibonnaci numbers.

F[0]=F[1]=1;
F[n_] /; n>1 := F[n] = F[n-1]+F[n-2];
F /@ Range[0,10]

A=(({{0, 1}, {1, 1}}));
MatrixPower[A, 10] // MatrixForm

{MatrixPower[A, 50][[2,2]], F[50]}

(B=A-λ IdentityMatrix[2])  // MatrixForm

χ=Det[B]

{λ1, λ2} = λ /. Solve[χ==0, λ]

(DD=DiagonalMatrix[{λ1, λ2}]) // MatrixForm

{v1}=NullSpace[B /. λ -> λ1]

{v2}=NullSpace[B /. λ -> λ2]

(CC=Transpose[{v1,v2}]) // MatrixForm

(CCinv=Inverse[CC]) // MatrixForm

CCinv.CC // Simplify // MatrixForm

CC.DD.CCinv // Simplify // MatrixForm

(DDn=DiagonalMatrix[{((λ1)^n), ((λ2)^n)}]) // MatrixForm

CC.DDn.CCinv // Simplify // MatrixForm

Formula = (CC.DDn.CCinv)[[2,2]] // Simplify

Formula /. n -> 50

Formula /. n -> 50 // Expand