Но как применить ее к окружности, я не придумал.
Ну смотрите: проводите через две точки окружность так, чтобы она пересекала данную окружность в двух точках. И находите точку пересечения двух прямых: проходящей через изначально заданные точки и проходящей через две точки пересечения окружностей.
Дальше догадаетесь?
Да, конечно, дальше уже довольно просто. Неплохая идея!