cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A265189 Soddy circles: the two circles tangent to each of three mutually tangent circles.

Original entry on oeis.org

69, 46, 23, 6, 138, 70, 30, 21, 5, 105, 132, 33, 11, 4, -132, 138, 92, 46, 12, 276, 140, 60, 42, 10, 210, 153, 136, 72, 17, 306, 207, 138, 69, 18, 414, 210, 90, 63, 15, 315, 216, 135, 24, 10, -135, 238, 119, 102, 21, 357, 252, 63, 28, 9, 0
Offset: 1

Views

Author

Colin Barker, Dec 04 2015

Keywords

Comments

For any three mutually tangent circles (with radii a, b, and c), one can construct a fourth circle (the inner Soddy circle, with radius d) that is mutually tangent internally to the three circles, and a fifth circle (the outer Soddy circle, with radius e) that is mutually tangent externally to the three circles. For this sequence all five radii have integral lengths.
The sequence is an array of 5-tuples (a,b,c,d,e) ordered by increasing values of a, with a > b > c.
A positive value for the outer Soddy circle indicates that it contains the three circles; a negative value indicates that it is exterior to the three circles; a value of 0 indicates that it has an infinite radius, that is, it is a straight line.

Crossrefs

Cf. A256694.
See also the many sequences arising from Apollonian circle packing: A135849, A137246, A154636, etc.
Also the sequences related to Soddy's circle packings: A046159, A046160, A062536, etc.

Programs

  • PARI
    soddy(amax) = {
      my(L=List(), abc, t, u);
      for(a=1, amax,
        for(b=1, a-1,
          for(c=1, b-1,
            abc=a*b*c;
            if(issquare(abc*(a+b+c), &t),
              u=a*b+a*c+b*c;
              if(abc%(u+2*t) == 0,
                if(u-2*t != 0,
                  if(abc%(u-2*t) == 0,
                    listput(L, [a,b,c,abc\(u+2*t),-abc\(u-2*t)])
                  )
                ,
                  listput(L, [a,b,c,abc\(u+2*t),0])
                )
              )
            )
          )
        )
      );
      Vec(L)
    }
    soddy(253)