
Two circles in a plane intersect in zero, one, two, or infinitely many points. The latter case occurs only in the case of two identical circles. The first case (zero points of intersection) occurs whenever the distance between the centers of the circles is greater than the sum of the radii or the distance between the center is less than the absolute value of the difference in their radii.
Find the coordinates of the two (possibly equal) points of intersection of two nonconcentric circles, A, and B, whose centers are (x_{A},y_{A}) and (x_{B},y_{B}) and whose radii are r_{A} and r_{B}. You may assume there is at least one point of intersection. In other words, you may assume the distance between the centers of the circles lies between the absolute value of the difference of their radii and the sum of their radii, inclusive.
In this diagram, I have used the example in which circle A is red, centered at (9,1) with a radius of 7, and circle B is green, centered at (5,5) with a radius of 18. C is the midpoint of A and B. E and F are the intersections of the two circles, and D is the midpoint of E and F.
Let d be the distance between A and B, the centers of the two circles.
d = sqrt((x_{B}x_{A})^{2}+(y_{B}y_{A})^{2})
Let K be the area of the triangle ABE. The lengths of the sides of this triangle are d, r_{A}, and r_{B}. Heron's Formula tells us
K = (1/4)sqrt((d+r_{A}+r_{B})(d+r_{A}+r_{B})(dr_{A}+r_{B})(d+r_{A}r_{B}))
By regrouping the four factors inside the square root, we get the area of the triangle in terms of d^{2} rather than in terms of d, and this is computationally easier:
K = (1/4)sqrt(((r_{A}+r_{B})^{2}d^{2})(d^{2}(r_{A}r_{B})^{2}))
C ((x_{B}+x_{A})/2, (y_{B}+y_{A})/2) is the midpoint between the centers of the circles.
D is the midpoint between the two points of intersection of the circles.
We will consider AB the "base" of triangle ABE, and DE the "height" of the triangle. Point D divides the base into two segments, AD, and DB, whose signed lengths will be d_{A} and d_{B}, where d_{A}+d_{B}=d. (The context in which I use signed distances is very narrow. By "signed" I mean only that distances measured along line AB from A to B are considered "positive" and distances in the other direction are considered "negative".)
Note the following facts, where all distances are signed:
CA+CB = 0, because C is the midpoint of A and B
d_{A}d_{B} = ADDB = AD+BD = (CA+AD)+(CB+BD) = CD+CD, so
CD = (1/2)(d_{A}d_{B})
By Pythagoras, we have r_{A}^{2}d_{A}^{2} = r_{B}^{2}d_{B}^{2}, so
r_{A}^{2}r_{B}^{2} = d_{A}^{2}d_{B}^{2} = (d_{A}+d_{B})(d_{A}d_{B}) = d(d_{A}d_{B}) = 2d(CD)
This way, the signed length, CD, which is negative in the diagram, is given by
CD = (1/2)(r_{A}^{2}r_{B}^{2})/d
The ratio of change in the xcoordinate to signed distance along line AB is (x_{B}x_{A})/d, and the ratio of change in the ycoordinate to signed distance along this line is (y_{B}y_{A})/d. From this we can calculate the coordinates of point D:
x_{D} = x_{C} + (1/2)(r_{A}^{2}r_{B}^{2})/d * (x_{B}x_{A})/d = (1/2)(x_{B}+x_{A}) + (1/2)(x_{B}x_{A})(r_{A}^{2}r_{B}^{2})/d^{2}
y_{D} = y_{C} + (1/2)(r_{A}^{2}r_{B}^{2})/d * (y_{B}y_{A})/d = (1/2)(y_{B}+y_{A}) + (1/2)(y_{B}y_{A})(r_{A}^{2}r_{B}^{2})/d^{2}
Did you wonder when we would make use of K, the area of triangle ABE? Well, your wait is over!
K = (1/2)(AB)(DE)
DE = 2K/(AB) = 2K/d = (1/2)sqrt(((r_{A}+r_{B})^{2}d^{2})(d^{2}(r_{A}r_{B})^{2}))/d
Line DE is perpendicular to AB, so the ratio of change in the xcoordinate to distance along DE equal to plus or minus the ratio for the ycoordinate along AB, and the ratio of change in the ycoordinate to distance along DE is minus or plus the ratio for the xcoordinate along AB. Note that the choice of plus or minus is arbitrary, but if you choose "plus" for the xcoordinate, you must choose "minus" for the ycoordinate, and viceversa. One choice gets you to point E, and the other choice gets you to point F, which are the two solutions to this problem.
With this in mind, we choose that the ratio of change in the xcoordinate to distance along line DE is (y_{B}y_{A})/d, and the ratio of change in the ycoordinate to signed distance along this line is (x_{B}x_{A})/d. From this we can calculate the coordinates of point E:
x_{E} = x_{D} + 2K/d * (y_{B}y_{A})/d
= (1/2)(x_{B}+x_{A}) + (1/2)(x_{B}x_{A})(r_{A}^{2}r_{B}^{2})/d^{2} + 2(y_{B}y_{A})K/d^{2}
y_{E} = y_{D} + 2K/d * (x_{B}x_{A})/d
= (1/2)(y_{B}+y_{A}) + (1/2)(y_{B}y_{A})(r_{A}^{2}r_{B}^{2})/d^{2}  2(x_{B}x_{A})K/d^{2}
where K and d^{2} are, again for reference,
K = (1/4)sqrt(((r_{A}+r_{B})^{2}d^{2})(d^{2}(r_{A}r_{B})^{2}))
d^{2} = (x_{B}x_{A})^{2} + (y_{B}y_{A})^{2}(K is the area of the triangle formed by the centers of the two circles and one of their points of intersection;
d is the distance between the circles centers;
r_{A}, r_{B} are the circles' radii;
(x_{A},y_{A}) and (x_{B},y_{B}) are the circles' centers)
The two solutions, then, are
x = (1/2)(x_{B}+x_{A}) + (1/2)(x_{B}x_{A})(r_{A}^{2}r_{B}^{2})/d^{2} ± 2(y_{B}y_{A})K/d^{2}
y = (1/2)(y_{B}+y_{A}) + (1/2)(y_{B}y_{A})(r_{A}^{2}r_{B}^{2})/d^{2} ± 2(x_{B}x_{A})K/d^{2}
White Ravens and Black Swans, a delightful mixture of mathematics and philosophy, which gives the equations presented here, as a means of illustrating that two circles that appear not to intersect might have "imaginary" intersections because Heron's Formula for the area of a triangle gives an imaginary result if the largest side is more than the sum of the other two.
Conic Sections  the home page for conic sections.
Find the equation of a circle, given three points
Find the equations of the (up to) four tangent lines to two circles.
Heron's Formula for the area of a triangle, which gives an imaginary "area" for impossible triangles.
The webmaster and author of this Math Help site is Graeme McRae.