Задача:
Задано параболу 

 и набор 

 точек 

.
Минимизыровать сумму квадратов расстояний от точек до параболы,
то есть найти такое смещение параболы 

, чтобы сумма 

 была минимальной (

 - расстояние от точки 

 до сдвинутой параболы).
Для упрощения можно считать, что расстояние до параболы считается как разница 

 (как в регрессионной модели), но хотелось бы использовать реальное расстояние.
При аналитическом решении получаются кубические уравнения (можно решыть через ф-лы Кардано). Поскольку задачу надо решыть на С++ (реальный проект, не учебный), возможно имеет смысл использовать какой либо алгоритм оптимизации (парабола уже является упрощением, в общем случае кривая задана как набор точек, поэтому не сильно хочется завязываться на параболу).
Буду очень благодарен за любую помощь.