Поскольку задача "продвинутая", я изложу решение в стиле "для продвинутых".
Если описать окружность вокруг треугольника ABC, и продлить AD до пересечения с этой окружностью в точке H1, то
DH = DH1; доказать это очень просто, если заметить, что
∠H1BD = ∠H1AC; (оба вписанных угла опираются на дугу H1C) а
∠H1AC = ∠HBD = 90° - ∠C; то есть
∠H1BD = ∠HBD; дальше очевидно.
Для хорд BC и AH1 можно записать BD*CD = AD*DH1 = AD*(AD - AH);
Если теперь достроить заданную в задаче полуокружность до полной, то BC будет хордой и в ней, и можно записать аналогично
BD*CD = MD^2; (ну, диаметр делит перпендикулярную ему хорду пополам)
Получилось
AD*(AD - AH) = MD^2; или AH = AD*(1 - (MD/AD)^2); число найдите самостоятельно.
Техническая простота решения не должна вводить в заблуждение. На самом деле полученный ответ имеет очень нетривиальную интерпретацию. Дело в том, что AH - диаметр окружности, описанной вокруг треугольника AB1C1 (где B1 и С1 - основания высот BB1 и CC1). Получается, что этот диаметр не зависит от положения точки D на BC, и от величины BC, а только от AD и MD. Слово "только" не совсем точное, поскольку величина BC не является независимой. НО результат необычный.