Here is my algorithm for computation of the base circle radius from two points on the involute.
Given two points A(x,y), B(x,y) on the involute and the gear wheel centre C(x,y)
Reduce all coordinates to place gear wheel centre at the origin
A = A – C
B = B – C
C = C – C
Compute the radial distance to points A and B from the gear centre
Ra = Radius(A)
Rb = Radius(B)
Select an initial estimate for the base circle radius, R, { 0 < R < Ra }
Lengths from point on involute along tangent to the base circle contact
Sa = Sqrt( Ra^2 – R^2 )
Sb = Sqrt( Rb^2 – R^2 )
By the definition of an involute as an unwinding filament we know
arc = Sa – Sb
As a filament unwinds from the base circle, it describes an involute through points A and B
Solve for the base circle tangent contact points P and Q for points A and B respectively
The intersection of two circles, (you must select the correct point from the two available)
circle centre A, radius Sa; with centre C, radius R; gives point P
circle centre B, radius Sb; with centre C, radius R; gives point Q
We now have two independent estimates for the chord based on base circle radius, R
chord1 = Radius( P – Q ) the linear distance between the two contact points on base circle
chord2 = 2 * R * Sin( 0.5 * arc / R ) the relationship between radius, arc and the chord
A search for chord1 – chord2 = 0 is easier than a solution of equations
When these two chord values are equal, we have R, the base circle radius
I have checked that it does work for real values.