Let your data be of the form data = {{x1,y1},{x2,y2},...}. I generated sample data with
dataGen = Function[x,
With[{rSmall = 36, rLarge = 53, x0Large = 123},
Piecewise[{{-Sqrt[rSmall^2 - x^2], x < rSmall}, {0,
rSmall < x < x0Large - rLarge}, {-Sqrt[
rLarge^2 - (x - x0Large)^2], x0Large - rLarge < x < x0Large}},
0]
]];
data = Table[ {x, dataGen@x}, {x, 0, 123, 0.01} ];
Let us fit an equation of a circle to a portion of your data:
fit = NonlinearModelFit[
Select[data, 75 < First@# < 120 &], (* restrict to data with 75 < x < 120 *)
y0 - Sqrt[r^2 - (x - x0)^2],
{{r, 100}, {x0, 100}, {y0, 10}}, (* Approximate parameter estimates *)
x]
You can obtain the best fit parameters with
fit["BestFitParameters"]
{r -> 53., x0 -> 123., y0 -> -3.30754*10^-14}
or the best fit equation
fit["BestFit"]
-3.30754*10^-14 - Sqrt[2809. - (-123. + x)^2]
Of course you need not include x0 and/or y0 if you know either of them to be zero.
I'm far from an expert on fitting. You may want to look at other fitting questions to get a better sense of best practices. This answer provides a nice method for estimating starting parameter values using Manipulate. Note that the fit seems to be rather sensitive to starting parameters.
The rest of your questions is a bit unclear to me. If the circles in question are exact quarter-circles, you can easily calculate the points to be
{x0,y0} + r0*unitDisp, where unitDisp is {±1,0} or {0,±1}.
If the circles in question are not quarter-circles, but rather an arbitrary circular arc, the problem is much more complicated. I won't comment on it unless OP confirms this to be the case in question.