Есть дискретный набор точек

(красная кривая), в который внутрь требуется вписать кривую

(зеленая) максимальной площади
(так чтобы

не превышало

для любого

)
Горизонтальный размер

фиксирован, высота

может быть любой.

Общий алгоритм я вижу такой:
1. Начинаем с левого края. Т.е. ставим кривую

в крайнее левой положение.
2. Находим точку касания кривых, чтобы определить

. Считаем площадь.
3. Смещаем

вправо на одну точку.
4. Повторяем п.2-3 пока площадь не станет убывать.
5. Смотрим при каком смещении максимальная площадь.
Однако, всё упирается в п.2. Как искать точку касания двух кривых?