Программа на C++ / Python
Тимофею на день рождения родители подарили металлоискатель. Естественно, наутро мальчик отправился на поиски клада. Он предположил, что когда-то давно кто-то мог обронить золотую монету на древней прямой дороге и для облегчения поиска придумал систему координат. Ось абсцисс OX направлена вдоль дороги, а ось ординат OY направлена вверх.
Устройство работает следующим образом: на его индикаторе выставляется натуральное число r и если ровно на этом расстоянии имеется золотой предмет, то загорается зелёная лампочка.
Сначала юный кладоискатель выставил число r1 в точке x = 0, затем отошёл в точку с абсциссой x = a и выставил число r2, как показано на рисунке. Новичкам везёт, оба раза загорелась зелёная лампочка. Определите координаты потерянной когда-то давно золотой монетки.
Формат входных данных
Программа получает на вход три целых числа a, r1 и r2, записанных в отдельных строках (1 ≤ a; r1; r2 ≤ 109).
Формат выходных данных
Выведите в двух строках два числа – координаты сокровища (сначала – абсциссу, потом – ординату). Значение ординаты должно быть не положительным (монетка не может висеть в воздухе). Гарантируется, что входные данные таковы, что ответ существует и обе координаты монеты будут целыми числами.


Вот работающая программа, а словесный понос от нейросети лучше скрой с глаз долой, как бесполезный.
from math import prod, isqrt
a, r1, _ = sides = tuple(map(int, map(input, ('',) * 3)))
p = sum(sides)
sq = prod(map(int.__sub__, (p,) * 4, map((2).__mul__, (0,) + sides))) // (4 * a * a)
print(isqrt(r1 * r1 - sq), -isqrt(sq), sep = '\n')
Математическое обоснование с рисунком можешь тут посмотреть:
https://otvet.mail.ru/question/233628737
Хотя, рисунок-то у тебя как раз - свой. :-)
Для решения задачи можно воспользоваться геометрическим подходом и нарисовать на координатной плоскости точки (0, 0), (a, r1) и (a, r2), соединив их отрезками.
Так как мы знаем расстояние до монеты (r) и ее координаты (x, y), то можем записать два уравнения окружности:
(x - 0)^2 + y^2 = r1^2 (1)
(x - a)^2 + (y - r2)^2 = r2^2 (2)
Решив их относительно x и y, можно найти координаты потерянной монеты.
Решение:
Из уравнений (1) и (2) можно выразить x:
x = (r1^2 - y^2)^(1/2) (3)
x = a + (r2^2 - (y - r2)^2)^(1/2) (4)
Приравняв выражения (3) и (4), получим:
(r1^2 - y^2)^(1/2) = a + (r2^2 - (y - r2)^2)^(1/2)
Возводим обе части уравнения в квадрат и переносим все слагаемые с y в одну сторону:
r1^2 - y^2 = a^2 + r2^2 - 2ar2 + y^2 - 2yr2 + y^2
Упрощаем:
2y^2 - 2yr2 = a^2 + r1^2 - r2^2 - 2ar2
y^2 - yr2 = (a^2 + r1^2 - r2^2 - 2ar2)/2
y(y - r2) = (a^2 + r1^2 - r2^2 - 2ar2)/2
y = ((a^2 + r1^2 - r2^2 - 2ar2)/2) / (r1 - r2)
Подставляем найденное значение y в уравнение (3) или (4) и находим x:
x = (r1^2 - y^2)^(1/2)
Ответом будут координаты (x, y).
Реализация на Python:
```python
a = int(input())
r1 = int(input())
r2 = int(input())
y = ((a**2 + r1**2 - r2**2 - 2*a*r2) / 2) / (r1 - r2)
x = (r1**2 - y**2)**0.5
print(x, y)
print(x, -y)
```
Первая строка вывода соответствует координатам с положительной ординатой, а вторая строка - с отрицательной.