Solution:
Let α=∠BAC. Let BB′ and CC′ be altitudes in triangle ABC, as shown.

Claim. Triangle CDE is isosceles with CE=DE.
Proof.
∠DEC=∠DOC=∠BOC=2∠BAC=2α
∠DCE=∠C′CA=90∘−∠C′AC=90∘−α
∠CDE=180∘−∠DEC−∠DCE=180∘−2α−(90∘−α)=90∘−α=∠DCE.(angle sum in △CDE)
Since CE=DE and CE=FE, we have CE=DE=FE, therefore E is the circumcentre of triangle CDF. Consequently,
∠HDF=180∘−∠CDF=180∘−21⋅∠CEF=180∘−21∙(180∘−2∠ECF)=180∘−21∙(180∘−2∠B′CB)=180∘−(90∘−∠B′CB)=180∘−∠B′BC=180∘−∠HBF(angles in △B′BC)
so BHDF is cyclic.