Дискриминант
, значит уравнение всегда имеет ровно три вещественных корня. Их произведение положительно и
а значит уравнение всегда имеет один положительный и два отрицательных корня.
А, ну да, это уже проанализировано тут:
Кстати говоря, из теоремы Виета для кубического уравнения следует, что при любых положительных
сумма корней отрицательна, а произведение корней положительно, и значит всегда есть ровно один положительный корень - искомый радиус.
И кроме того,
Также несложно видеть, что если
- положительный корень приведённого выше кубического уравнения, то
. Таким образом, для любых трёх положительных чисел существует треугольник, для которого эти числа являются расстояниями от вершин до точки пересечения биссектрис.
Так что уравнение при любых положительных коэффициентах
имеет только одно нужное нам решение, и не надо гадать какое именно, можно смело менять переменные не боясь поделить на ноль и т.п. Единственное, плавающая арифметика конечно полностью мнимую часть в ответе не зануляет, это приходится делать в программе. Ну вот при точности в 50 значащих цифр тo, что печатается, вполне норм. Хотя конечно могло получиться и что-то типа
вместо
А вот
вопрос который хотелось бы выяснить - можно ли малой кровью решить систему отсюда (например получить то же кубическое уравнение)
post1595762.html#p1595762 или использование теоремы синусов и того факта что сумма углов треугольника равна развернутому углу добавлет новое знание к этой системе. Так-то вроде количество неизвестных равно количеству уравнений (три на три), так что по идее должна решаться. Но я не смог придумать такие замены, которые помогут выразить
через известные.