# Pell is to silver as Fibonacci is to gold

As mentioned in the previous post, the ratio of consecutive Fibonacci numbers converges to the golden ratio. Is there a sequence whose ratios converge to the silver ratio the way ratios of Fibonacci numbers converge to the golden ratio?

(If you’re not familiar with the silver ratio, you can read more about it here.)

The Pell numbers Pn start out just like the Fibonacci numbers:

P0 = 0
P1 = 1.

But the recurrence relationship is slightly different:

Pn+2 = 2Pn+1 + Pn.

So the Pell numbers are 0, 1, 2, 5, 12, 29, ….

The ratios of consecutive Pell numbers converge to the silver ratio.

## Metallic ratios

There are more analogs of the golden ratio, such as the bronze ratio and more that do not have names. In general the kth metallic ratio is the larger root of

x² − kx − 1 = 0.

The cases n = 1, 2, and 3 correspond to the gold, silver, and bronze ratios respectively.

The quadratic equation above is the characteristic equation of the recurrence relation

Pn+2 = kPn+1 + Pn.

which suggests how we construct a sequence of integers such that consecutive ratios converge to the nth metallic constant.

So if we use k = 3 in the recurrence relation, we should get a sequence whose ratios converge to the bronze ratio. The results are

0, 1, 3, 10, 33, 109, 360, 1189, 3927, 12970, …

The following code will print the ratios.

```    def bronze(n):
if n == 0: return 0
if n == 1: return 1
return 3*bronze(n-1) + bronze(n-2)

for n in range(2, 12):
print( bronze(n)/bronze(n-1) )
```

Here’s the output.

```    3.0
3.3333333333333335
3.3
3.303030303030303
3.302752293577982
3.3027777777777776
3.302775441547519
3.3027756557168324
3.302775636083269
3.3027756378831383
```

The results are converging to the bronze ratio

(3 + √13)/2 = 3.302775637731995.

## Plastic ratio

The plastic ratio is the real root of x³ − x − 1 = 0. Following the approach above, we can construct a sequence of integers whose consecutive ratios converge to the plastic ratio with the recurrence relation

Sn+3 = Sn+1 + Sn

Let’s try this out with a little code.

```    def plastic(n):
if n < 3: return n
return plastic(n-2) + plastic(n-3)

for n in range(10, 20):
print( plastic(n)/plastic(n-1) )
```

This prints

```    1.3
1.3076923076923077
1.3529411764705883
1.3043478260869565
1.3333333333333333
1.325
1.320754716981132
1.3285714285714285
1.3225806451612903
```

which shows the ratios are approaching the plastic constant 1.324717957244746.