@above directed angles are bad
In this solution, we denote segment $AB$ as $(AB),$ and line $AB$ as $\overline{AB}.$
[asy][asy]
unitsize(25);
/* Geogebra to Asymptote conversion, documentation at artofproblemsolving.com/Wiki go to User:Azjps/geogebra */
import graph; size(0cm);
real labelscalefactor = 0.5; /* changes label-to-point distance */
pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */
pen dotstyle = black; /* point style */
real xmin = -4.57104904356743, xmax = 9.29800414774593, ymin = -4.398668189419848, ymax = 3.6041014066115533; /* image dimensions */
/* draw figures */
draw((1.421975246673722,2.7712339825901857)--(0,0), linewidth(0.65));
draw((0,0)--(4,0), linewidth(0.65));
draw((4,0)--(1.421975246673722,2.7712339825901857), linewidth(0.65));
draw((0,0)--(2.1442872828261756,1.9947885050838443), linewidth(0.65));
draw((4,0)--(0.8336695185024892,1.6247071145070373), linewidth(0.65));
draw(circle((1.421975246673722,2.0470348664316598), 0.724199116158526), linewidth(0.65));
draw(circle((2,-0.7241991161585263), 2.12707883254119), linewidth(0.65));
draw((1.421975246673722,2.7712339825901857)--(2,0), linewidth(0.65));
draw((0,0)--(2.866599318978629,1.218343027577503), linewidth(0.65));
draw((0.24536379033125622,0.4781802464238889)--(4,0), linewidth(0.65));
draw((0,0)--(0.24536379033125622,0.4781802464238889), linewidth(0.65));
/* dots and labels */
dot((1.421975246673722,2.7712339825901857),dotstyle);
label("$A$", (1.3767107127595135,2.8617630504185954), NE * labelscalefactor);
dot((0,0),dotstyle);
label("$B$", (-0.17133634710640336,-0.03516712009050919), NW * labelscalefactor);
dot((4,0),dotstyle);
label("$C$", (4.1016356543948405,-0.06232584043903204), NE * labelscalefactor);
dot((1.4219752466737219,1.322835750273134),linewidth(4pt) + dotstyle);
label("$H$", (1.3586048991938302,1.3951921515983612), NE * labelscalefactor);
dot((0.8336695185024892,1.6247071145070373),linewidth(4pt) + dotstyle);
label("$E$", (0.6615310769150256,1.5400386601238163), W * labelscalefactor);
dot((2.1442872828261756,1.9947885050838443),linewidth(4pt) + dotstyle);
label("$D$", (2.1824194164324178,2.0470014399629095), NE * labelscalefactor);
dot((1.7114871257381217,1.3832222183709362),linewidth(4pt) + dotstyle);
label("$F$", (1.8021973315530697,1.2322398295072239), NE * labelscalefactor);
dot((2,0),linewidth(4pt) + dotstyle);
label("$M$", (2.0194670943412683,-0.08252066808642318), S * labelscalefactor);
dot((0.24536379033125622,0.4781802464238889),dotstyle);
label("$Y$", (0.07309213603032036,0.489901473314266), NW * labelscalefactor);
dot((2.866599318978629,1.218343027577503),dotstyle);
label("$X$", (2.9066519590597473,1.3046630837699515), NE * labelscalefactor);
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
/* end of picture */
[/asy][/asy]
The configuration reminds us greatly of the $A$-HM point, denoted as $X_A=(ADHE) \cap (BHC) \neq H,$ which lies on the $A$-median. Thus, it suffices to show $X$ and $Y$ lie on $(BHC),$ as this would imply $F=X_A,$ which the required property. We proceed by angle chasing. Consider $X$ first. It suffices to show $\angle BXC = \angle BHC.$ Notice
\begin{align*}
\angle BXC &= 180^\circ - \angle BXA \\
&= 180^\circ-(90^\circ - \angle XBD) \\
&=90^\circ+ \angle XBD \\
&= 90^\circ + \angle ABD \\
&= 180^\circ-(90^\circ- \angle ABD) \\
&=180^\circ - \angle EHB \\
&= \angle BHC.
\end{align*}Therefore, $X$ lies on $(BHC).$ A similar argument can be made to show $Y$ also lies on $(BHC).$ However, notice this configuration only takes care of the case when $X \in (AC), Y \in (AB).$ In certain configurations, it is possible for $X \in \overline{AC} \setminus \{(AC)\}$ or $Y \in \overline{AB} \setminus \{AB\},$ or both to occur. In these cases, the argument will be the same as before, but instead we consider angles $\angle XCB$ and $\angle YBC.$ Exhausting all cases, we are done, as $F=X_A.$