First, we deal with the function *w* that returns the radius
of the inner kissing circle. Maple Code:

# Here is the radius equation. w := (x,y,z) -> simplify((x*y*z)/( (x*y) + (y*z) + (x*z) + 2 * ((x*y*z*(x+y+z))^(1/2)) )); # Clusterfy w into a 3-cluster. f := (x,y,z) -> (w(x,y,z),y,z); g := (x,y,z) -> (x,w(x,y,z),z); h := (x,y,z) -> (x,y,w(x,y,z)); f(1,1,1); g(f(1,1,1)); f(g(f(1,1,1))); h(g(f(1,1,1))); f(f(h(g(f(1,1,1))))); |

Let's deal with curvature = 1/radius.

# Here is the Curvature equation. solve(2*(a^2 + b^2 + c^2 + d^2) = (a+b+c+d)^2,d); u := (a,b,c) -> simplify(a+b+c + 2*(a*b+a*c+b*c)^(1/2)); # Clusterfy w into a 3-cluster. f := (x,y,z) -> (u(x,y,z),y,z); g := (x,y,z) -> (x,u(x,y,z),z); h := (x,y,z) -> (x,y,u(x,y,z)); f(1,1,1); g(f(1,1,1)); f(g(f(1,1,1))); h(g(f(1,1,1))); f(f(h(g(f(1,1,1))))); #What if one of the lines is staright (r==infty or curvature==0)??? f(0,1,1); f(f(0,1,1)); h(g(f(0,1,1))); |

At this point I finally get something really imortant through my
head. *The Apollonian Gasket makes a Cluster Algebra of rank
4*!

Why? Well, given three kissing circles, you can alyways find
**two** other kissing circles! This does not an exchange relation
make! Stephen finally expained to me that four kissing circles make a
cluster. Now I can apply the methodology suggested by Jim in his
2003-10-11 email. Let's see how this concept simplifies the equations:

First, here's the Soddy Equation

2*(a^2 + b^2 + c^2 + d^2) = (a+b+c+d)^2; |

Suppose that for a given (a,b,c), both d and d' are solutions this equation:

2*(a^2 + b^2 + c^2) + 2*d^2 = (a+b+c)^2 + 2*d*(a+b+c) + d^2; 2*(a^2 + b^2 + c^2) + 2*d^2 - (a+b+c)^2 - 2*d*(a+b+c) - d^2 = 0; d^2 - (2*a + 2*b + 2*c)*d + 2*(a^2 + b^2 + c^2) - (a+b+c)^2 = 0; |

So then:

d + dprime = 2*a + 2*b + 2*c; d * dprime = 2*(a^2 + b^2 + c^2) - (a+b+c)^2; |

Next define a function u which takes in four cluster variables and return the exchange for the fourth.

u := (a,b,c,d) -> simplify(2*a + 2*b + 2*c - d); |

Clusterfy u into a 4-cluster.

e := (w,x,y,z) -> (u(x,y,z,w),x,y,z); f := (w,x,y,z) -> (w,u(w,y,z,x),y,z); g := (w,x,y,z) -> (w,x,u(w,x,z,y),z); h := (w,x,y,z) -> (w,x,y,u(w,x,y,z)); |

Some things are downright meaingless: For instance:

e(x,x,x,x); |

doesn't mean anything. Can you imagine four circles that all have the same radius kissing? No. So we define.

v1 := (a,b,c) -> simplify(a+b+c + 2*(a*b+a*c+b*c)^(1/2)); v2 := (a,b,c) -> simplify(a+b+c - 2*(a*b+a*c+b*c)^(1/2)); |

So if we had three circles with radius x,y, and z, we can let w be the inner circle for the kiss of x, y, and z.

w := v1(x,y,z); |

But we want simpler looking equations, so let M = (xy+xz+yz)^(1/2):

w := x+y+z+2*M; |

Then we can look at some of the clusters that are accessible form this cluster.

(w,x,y,z); e(w,x,y,z); e(f((w,x,y,z))); e(f(e(w,x,y,z))); e(e(f(e(w,x,y,z)))); h(h(e(f(e(w,x,y,z))))); |

All of these are “nice” equations, as expected! QUESTION: what do the coefficients count?

But what if we start with 0,1,1?

z:=0; x:=1; y:=1; w:=v1(x,y,z); (w,x,y,z); h(w,x,y,z); e(f((w,x,y,z))); e(f(e(w,x,y,z))); e(e(h(e(w,x,y,z)))); h(h(e(f(e(w,x,y,z))))); h(g(h(h(e(f(e(w,x,y,z))))))); |

z:='z': x='x': y:='y': w:='w'; |

x:='x':y:='y':z:='z': (w,x,y,z); e(w,x,y,z); f(w,x,y,z); g(w,x,y,z); h(w,x,y,z); |

(x+y+z+2*(x*y+x*z+y*z)^(1/2), x, y, z); |