Let $\gamma_A, \gamma_B, \gamma_C$ be excircles of triangle $ABC$, touching the sides $BC$, $CA$, $AB$ respectively. Let $l_A$ denote the common external tangent to $\gamma_B$ and $\gamma_C$ distinct from $BC$. Define $l_B, l_C$ similarly. The tangent from a point $P$ of $l_A$ to $\gamma_B$ distinct from $l_A$ meets $l_C$ at point $X$. Similarly the tangent from $P$ to $\gamma_C$ meets $l_B$ at $Y$. Prove that $XY$ touches $\gamma_A$.
Problem
Source: XVII Sharygin Correspondence Round, P14
Tags: geometry, excircle
02.03.2021 19:29
Animate $P$ on $\ell_A$. $P\mapsto X$ and $P\mapsto Y$ are homographies $\implies X\mapsto Y$ is a homography from $\ell_B$ to $\ell_C$. Also $X\cancel{\equiv}Y$ for any input of $P$ on $\ell_A$, if that were true, $\gamma_B,\gamma_C$ would be internally tangent. So by dual of steiner conic theorem $XY$ is tangent to a fixed conic tangent to $\ell_B,\ell_C$. $XY\equiv BC,AB,AC$ when $P=\ell_A\cap BC, \ell_A\cap AB, \ell_A\cap AC$ respectively. Hence, $XY$ is tangent to the conic inscribed in $\{\ell_B,\ell_C,BC,CA,AB\}$ which is $\gamma_A$. Thus, $XY$ is tangent to $\gamma_A$. $\quad\blacksquare$
05.03.2021 16:28
Moving points for the win! [asy][asy] size(15cm); real labelscalefactor = 0.5; /* changes label-to-point distance */pen dps = linewidth(0.7) + fontsize(0); defaultpen(dps); /* default pen style */ pen dotstyle = black; /* point style */ real xmin = -18.879573798989277, xmax = 24.31864030319256, ymin = -25.13917698966163, ymax = 9.764980004901293; /* image dimensions */ /* draw figures */draw(circle((-4.973728759617516,-8.27547543848794), 1.772421680631808), linewidth(0.8)); draw(circle((-2.2274096730370907,-12.818107101723522), 2.4656662680302697), linewidth(0.8)); draw(circle((0.7083066792873419,-7.43446862391036), 3.1898753597850686), linewidth(0.8)); draw((-4.424752302194316,-6.124436954715691)--(0.8596173118349505,-12.729898972252272), linewidth(0.8)); draw((-1.75612939718948,-5.007799562949653)--(-4.900478358959441,-12.860809195530683), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-7.320153683117728,-7.335965732365992)--(-2.738977335336313,-17.796163406799575), linewidth(0.8)); draw((-2.738977335336313,-17.796163406799575)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-4.900478358959441,-12.860809195530683)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-11.995255619646656,3.3386921920997294)--(-7.320153683117728,-7.335965732365992), linewidth(0.8)); draw((-4.424752302194316,-6.124436954715691)--(-11.995255619646656,3.3386921920997294), linewidth(0.8)); /* dots and labels */dot((-2.944232596851091,-7.9750865863947205),dotstyle); label("$A$", (-4.134583385444544,-8.167078649071078), NE * labelscalefactor); dot((-3.825183578405607,-10.175261130661939),dotstyle); label("$B$", (-4.63376274840309,-9.856608800623079), NE * labelscalefactor); dot((-0.9475151450169084,-10.470983401187448),dotstyle); label("$C$", (-0.7939214948758152,-10.086999275834714), NE * labelscalefactor); dot((-7.320153683117728,-7.335965732365992),linewidth(4pt) + dotstyle); label("$J$", (-7.168057975731091,-7.015126273012896), NE * labelscalefactor); dot((-2.738977335336313,-17.796163406799575),linewidth(4pt) + dotstyle); label("$K$", (-2.4066548213572703,-17.9970722581009), NE * labelscalefactor); dot((9.770567460792257,-0.18465999870642663),linewidth(4pt) + dotstyle); label("$L$", (9.151267351759826,0.28057210868892507), NE * labelscalefactor); dot((-2.847693521136921,-5.46454499297055),dotstyle); label("$P$", (-3.673802435021271,-5.440791359066713), NE * labelscalefactor); dot((-4.900478358959441,-12.860809195530683),linewidth(4pt) + dotstyle); label("$M$", (-5.670519886855454,-13.888442116826717), NE * labelscalefactor); dot((0.8596173118349505,-12.729898972252272),linewidth(4pt) + dotstyle); label("$N$", (0.81881183160564,-13.81164529175617), NE * labelscalefactor); dot((-6.182755545486604,-9.932986333835716),linewidth(4pt) + dotstyle); label("$O$", (-7.206456388266363,-10.394186576116896), NE * labelscalefactor); dot((-4.424752302194316,-6.124436954715691),linewidth(4pt) + dotstyle); label("$Q$", (-5.670519886855454,-5.863173896954714), NE * labelscalefactor); dot((-1.75612939718948,-5.007799562949653),linewidth(4pt) + dotstyle); label("$S$", (-1.3698976829049063,-4.442432633149623), NE * labelscalefactor); dot((2.2320474596796362,-10.797729687114359),linewidth(4pt) + dotstyle); label("$T$", (2.3547483330165497,-11.661334189780897), NE * labelscalefactor); dot((-11.995255619646656,3.3386921920997294),linewidth(4pt) + dotstyle); label("$A_1$", (-11.852664305034365,3.659632411792926), NE * labelscalefactor); dot((-12.078696597472561,-9.32709266848225),linewidth(4pt) + dotstyle); label("$B_1$", (-12.735827793345639,-8.47426594935326), NE * labelscalefactor); dot((17.38029219514276,-12.354432077032179),linewidth(4pt) + dotstyle); label("$C_1$", (16.48536414599692,-11.776529427386714), NE * labelscalefactor); clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); [/asy][/asy] We first make some notations, suppose $BC$ intersects $l_A,l_B,l_C$ at $B_1,O,T$, $AC$ intersects $l_A,l_B,l_C$ at $Q,A_1,N$, $AB$ intersect $l_A,l_B,l_C$ at $S,M,V$ ($V$ is not shown in the diagram) respectively. Now suppose $BC$ intersect $MN$ at $C_1$. We can now introduce $P$ to the picture (the diagram is on the next page). applying Brianchon's theorem to $OYPQAB$ we have $PB,YA,OQ$ are concurrent at a point $R$. Suppose $CY$ intersect $MN$ at $U$. Then we have the following projections: $$(P,B_1;Q,S)\overset{B}{\to}(R,O;Q,BS\cap OQ)\overset{A}{\to}(Y,O;A_1,M)\overset{C}{\to}(U,C_1;N,M)$$We can do similar manipulations to the other side. By applying Brianchon's theorem to $PXTCAS$, $PC$,$XA$ and $TS$ are concurrent at a point $W$. Then, $$(P,B_1;Q,S)\overset{C}{\to}(W,T;QN\cap ST,S)\overset{A}{\to}(X,T;N,V)\overset{B}{\to}(BX\cap MN,C_1,N,M)$$Comparing them we have $BX\cap MN=U$, hence $MN,CY,BX$ are concurrent. By the converse of Brianchon's theorem we have $YX$ is tangent to $\gamma_A$ as desired. [asy][asy] size(15cm); real labelscalefactor = 0.5; /* changes label-to-point distance */pen dps = linewidth(0.7) + fontsize(0); defaultpen(dps); /* default pen style */ pen dotstyle = black; /* point style */ real xmin = -18.753906267055655, xmax = 20.51719746220056, ymin = -23.851084787342025, ymax = 7.879967025896996; /* image dimensions */pen fuqqzz = rgb(0.9568627450980393,0,0.6); /* draw figures */draw(circle((-4.973728759617516,-8.27547543848794), 1.772421680631808), linewidth(0.8)); draw(circle((-2.2274096730370907,-12.818107101723522), 2.4656662680302697), linewidth(0.8)); draw(circle((0.7083066792873419,-7.43446862391036), 3.1898753597850686), linewidth(0.8)); draw((-4.424752302194316,-6.124436954715691)--(0.8596173118349505,-12.729898972252272), linewidth(0.8)); draw((-1.75612939718948,-5.007799562949653)--(-4.900478358959441,-12.860809195530683), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-7.320153683117728,-7.335965732365992)--(-2.738977335336313,-17.796163406799575), linewidth(0.8)); draw((-2.738977335336313,-17.796163406799575)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-4.900478358959441,-12.860809195530683)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-11.995255619646656,3.3386921920997294)--(-7.320153683117728,-7.335965732365992), linewidth(0.8)); draw((-4.424752302194316,-6.124436954715691)--(-11.995255619646656,3.3386921920997294), linewidth(0.8)); draw((-6.182755545486604,-9.932986333835716)--(-1.9727353633111595,-0.812371902613522), linewidth(0.8) + linetype("4 4") + fuqqzz); draw((-1.9727353633111595,-0.812371902613522)--(-3.9127766641016883,-15.116027983733101), linewidth(0.8) + linetype("4 4") + fuqqzz); draw((-3.825183578405607,-10.175261130661939)--(-1.9727353633111595,-0.812371902613522), linewidth(0.8) + linetype("4 4") + fuqqzz); draw((-3.9127766641016883,-15.116027983733101)--(-0.9475151450169084,-10.470983401187448), linewidth(0.8)); /* dots and labels */dot((-2.944232596851091,-7.9750865863947205),dotstyle); label("$A$", (-4.022878912614656,-8.14264329563954), NE * labelscalefactor); dot((-3.825183578405607,-10.175261130661939),dotstyle); label("$B$", (-4.546493629004739,-9.888025683606482), NE * labelscalefactor); dot((-0.9475151450169084,-10.470983401187448),dotstyle); label("$C$", (-0.7415600232368039,-10.097471570162515), NE * labelscalefactor); dot((-7.320153683117728,-7.335965732365992),linewidth(4pt) + dotstyle); label("$J$", (-7.164567210955154,-7.060506215100034), NE * labelscalefactor); dot((-2.738977335336313,-17.796163406799575),linewidth(4pt) + dotstyle); label("$K$", (-2.417127115685069,-17.9865999637731), NE * labelscalefactor); dot((9.770567460792257,-0.18465999870642663),linewidth(4pt) + dotstyle); label("$L$", (9.20711958817477,0.23519216660178663), NE * labelscalefactor); dot((-2.897272591128816,-5.485290465587947),dotstyle); label("$P$", (-3.6738024350212677,-5.454754418170447), NE * labelscalefactor); dot((-4.900478358959441,-12.860809195530683),linewidth(4pt) + dotstyle); label("$M$", (-6.0824301304156485,-13.483513402818385), NE * labelscalefactor); dot((0.8596173118349505,-12.729898972252272),linewidth(4pt) + dotstyle); label("$N$", (0.8292841259334446,-13.692959289374418), NE * labelscalefactor); dot((-6.182755545486604,-9.932986333835716),linewidth(4pt) + dotstyle); label("$O$", (-7.129659563195815,-10.341825104477888), NE * labelscalefactor); dot((-4.424752302194316,-6.124436954715691),linewidth(4pt) + dotstyle); label("$Q$", (-5.558815414025566,-5.873646191282513), NE * labelscalefactor); dot((-1.75612939718948,-5.007799562949653),linewidth(4pt) + dotstyle); label("$S$", (-1.4048053306642423,-4.477340280908959), NE * labelscalefactor); dot((2.2320474596796362,-10.797729687114359),linewidth(4pt) + dotstyle); label("$T$", (2.3303129795850155,-11.668315719332764), NE * labelscalefactor); dot((-1.9727353633111595,-0.812371902613522),linewidth(4pt) + dotstyle); label("$R$", (-3.0105571275938297,-0.7073143229003624), NE * labelscalefactor); dot((-3.9127766641016883,-15.116027983733101),linewidth(4pt) + dotstyle); label("$Y$", (-3.394541252946557,-16.03177168925012), NE * labelscalefactor); dot((-11.995255619646656,3.3386921920997294),linewidth(4pt) + dotstyle); label("$A_1$", (-11.84219201070656,3.8655875335730276), NE * labelscalefactor); dot((-12.078696597472561,-9.32709266848225),linewidth(4pt) + dotstyle); label("$B_1$", (-12.679975556930692,-8.561535068751605), NE * labelscalefactor); dot((17.38029219514276,-12.354432077032179),linewidth(4pt) + dotstyle); label("$C_1$", (16.572633265395268,-11.842853958129458), NE * labelscalefactor); dot((-2.437375026210917,-12.80483001989254),linewidth(4pt) + dotstyle); label("$U$", (-2.2774965246477135,-13.692959289374418), NE * labelscalefactor); clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); [/asy][/asy] [asy][asy] size(15cm); real labelscalefactor = 0.5; /* changes label-to-point distance */pen dps = linewidth(0.7) + fontsize(0); defaultpen(dps); /* default pen style */ pen dotstyle = black; /* point style */ real xmin = -16.489636951939843, xmax = 18.741148865867153, ymin = -21.564691831814322, ymax = 6.90178310897373; /* image dimensions */ /* draw figures */draw(circle((-4.973728759617516,-8.27547543848794), 1.772421680631808), linewidth(0.8)); draw(circle((-2.2274096730370907,-12.818107101723522), 2.4656662680302697), linewidth(0.8)); draw(circle((0.7083066792873419,-7.43446862391036), 3.1898753597850686), linewidth(0.8)); draw((-4.424752302194316,-6.124436954715691)--(0.8596173118349505,-12.729898972252272), linewidth(0.8)); draw((-1.75612939718948,-5.007799562949653)--(-4.900478358959441,-12.860809195530683), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-12.078696597472561,-9.32709266848225)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-7.320153683117728,-7.335965732365992)--(-2.738977335336313,-17.796163406799575), linewidth(0.8)); draw((-2.738977335336313,-17.796163406799575)--(9.770567460792257,-0.18465999870642663), linewidth(0.8)); draw((-4.900478358959441,-12.860809195530683)--(17.38029219514276,-12.354432077032179), linewidth(0.8)); draw((-3.9127766641016883,-15.116027983733098)--(-0.9475151450169084,-10.470983401187448), linewidth(0.8)); draw((-1.0546123591222605,-15.42483815056428)--(-4.828108749478006,-0.5479808460358543), linewidth(0.8) + linetype("4 4") + blue); draw((-4.828108749478006,-0.5479808460358543)--(-0.9475151450169084,-10.470983401187448), linewidth(0.8) + linetype("4 4") + blue); draw((-4.828108749478006,-0.5479808460358543)--(2.2320474596796362,-10.797729687114359), linewidth(0.8) + linetype("4 4") + blue); draw((-3.825183578405607,-10.175261130661939)--(-1.0546123591222605,-15.42483815056428), linewidth(0.8)); /* dots and labels */dot((-2.944232596851091,-7.9750865863947205),dotstyle); label("$A$", (-3.900502819710143,-8.130018839957254), NE * labelscalefactor); dot((-3.825183578405607,-10.175261130661939),dotstyle); label("$B$", (-4.495511646855328,-9.915045321392808), NE * labelscalefactor); dot((-0.9475151450169084,-10.470983401187448),dotstyle); label("$C$", (-0.7688774136828542,-10.134259099814718), NE * labelscalefactor); dot((-7.320153683117728,-7.335965732365992),linewidth(4pt) + dotstyle); label("$J$", (-7.188709496038796,-7.09658245596825), NE * labelscalefactor); dot((-2.738977335336313,-17.796163406799575),linewidth(4pt) + dotstyle); label("$K$", (-2.45995513293759,-17.96332261488294), NE * labelscalefactor); dot((9.770567460792257,-0.18465999870642663),linewidth(4pt) + dotstyle); label("$L$", (9.283640139664742,0.20010474007533213), NE * labelscalefactor); dot((-2.8972725911288157,-5.485290465587947),dotstyle); label("$P$", (-3.587340279107414,-5.46813724483406), NE * labelscalefactor); dot((-4.900478358959441,-12.860809195530683),linewidth(4pt) + dotstyle); label("$M$", (-5.967375587688153,-13.422465776143373), NE * labelscalefactor); dot((0.8596173118349505,-12.729898972252272),linewidth(4pt) + dotstyle); label("$N$", (0.828251543391063,-13.610363300505009), NE * labelscalefactor); dot((-6.182755545486604,-9.932986333835716),linewidth(4pt) + dotstyle); label("$O$", (-7.032128225737432,-10.322156624176356), NE * labelscalefactor); dot((-4.424752302194316,-6.124436954715691),linewidth(4pt) + dotstyle); label("$Q$", (-5.434999268663514,-5.906564801677881), NE * labelscalefactor); dot((-1.75612939718948,-5.007799562949653),linewidth(4pt) + dotstyle); label("$S$", (-1.4578350030088576,-4.528649623025873), NE * labelscalefactor); dot((2.2320474596796362,-10.797729687114359),linewidth(4pt) + dotstyle); label("$T$", (2.3314317382841616,-11.574806786587272), NE * labelscalefactor); dot((-4.828108749478006,-0.5479808460358543),linewidth(4pt) + dotstyle); label("$W$", (-4.714725425277238,-0.30095532488903404), NE * labelscalefactor); dot((-3.9127766641016883,-15.116027983733098),linewidth(4pt) + dotstyle); label("$Y$", (-3.4307590088060493,-15.927766100965203), NE * labelscalefactor); dot((-1.0546123591222605,-15.42483815056428),linewidth(4pt) + dotstyle); label("$X$", (-0.3930823649595796,-15.739868576603566), NE * labelscalefactor); dot((-12.078696597472561,-9.32709266848225),linewidth(4pt) + dotstyle); label("$B_1$", (-12.606421448466005,-8.63107890492162), NE * labelscalefactor); dot((17.38029219514276,-12.354432077032179),linewidth(4pt) + dotstyle); label("$C_1$", (16.674276097889145,-11.887969327190001), NE * labelscalefactor); dot((-2.4373750262109177,-12.804830019892542),linewidth(4pt) + dotstyle); label("$U$", (-3.2115452303841394,-12.608243170576277), NE * labelscalefactor); clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle); [/asy][/asy]
11.01.2022 16:56
My solution with moving point method is presented: We show centers of $\gamma_B$ and $\gamma_C$ with $I_{B}$ and $I_{C}$ respectively. $P_A$, $P_B$ and $P_C$ are intersection points of $l_A$ with $BC$, $CA$ and $AB$ respectively. Assume that $l_B$ and $l_C$ intersect with $l_A$ at points $D$ and $E$. And finally, as in the figure, $Q$ and $R$ are intersections of $l_B$ with $AB$, and $l_C$ with $AC$ respectively. By Brianchon's theorem, tangency of $XY$ to $\gamma_A$ is equivalent to concurrency of $BX$, $CY$ and $QR$. So we prove it instead. Consider $P$ is a moving point on $l_A$. So degree of $P$ is $1$. $\gamma_B$ is incircle (or excircle) of triangle $\triangle EPX$ and so angle $\angle PI_{B}X$ is constant. Degree of $I_B$ is zero, so degree of $I_BP$ is $1$. $I_BX$ is obtained by rotation of $I_BP$ around $I_B$ with constant angle $\angle PI_{B}X$ counterclockwise. Thus, degree of $I_BX$ equals $1+0=1$. On the other hand, degree of $l_C$ is zero, so its intersection with $I_BX$, $X$, has degree $1$. With similar argument we conclude that degree of $Y$ equals $1$. Clearly degree of $QR$ is zero. Thus concurrency of $BX$, $CY$ and $QR$ is a problem of degree $1+1+0=2$. So it is enough to prove it in just three special cases. And finally we recommend three cases when $P$ coincides with $P_A$, $P_B$ and $P_C$ which are trivial. Proof is complete! $\blacksquare$
02.06.2022 15:15
Does anyone have a solution without using projective maps stuff? Tough, the official solution also uses that technique only, a elementary proof still might exist.
02.03.2024 20:44
Let me post another solution that doens't use MMP Lemma (Cross ratio of four tangents). Let $c$ be a conic, and let $T_c$ denote the set of tangents to $c$. Then for $\ell, \ell_1, \ell_2, \ell_3, \ell_4 \in T_c$, we have \[ (\ell \cap \ell_1, \ell \cap \ell_2; \ell \cap \ell_3; \ell \cap \ell_4) = (c \cap \ell_1, c \cap \ell_2; c \cap \ell_3, c \cap \ell_4)_c. \]In other words, $(\ell_1, \ell_2; \ell_3; \ell_4)_c$ is well-defined (the dual concept of cross ratio of four points on a conic). Proof of Lemma. When $c$ is a circle, the statement is readily provable with inversion about $c$. Here we provide a projective proof for the general case. Let $P_i = \ell_i \cap c$ for $i = 1, 2, 3, 4$, $P = \ell \cap c$, $A_i = \ell_i \cap \ell$, $B_1 = AA_1 \cap P_2P_3$, $B_4 = AA_4 \cap P_2P_3$, $C_1=PP_1 \cap P_2P_3$, $C_4=PP_4 \cap P_2P_3$, and $Q$ be the point on $c$ such that $(P,Q;P_2,P_3)_c=-1$. Note that $A_1A$ is the polar of $C_1$, so $(B_1,C_1;P_2,P_3)=-1$ and hence $B_1P_1$ passes through $Q$. Similarly $B_4P_4$ passes through $Q$. Now \[ (A_1,A_2;A_3,A_4) \overset{A}= (B_1,P_2;P_3,B_4) \overset{Q}= (P_1,P_2;P_3,P_4)_c \]as desired. Back to the problem. Let $H_A$ be the exsimilicenter of $\gamma_B$ and $\gamma_C$, and define $H_B$, $H_C$ similarly. By Monge, $H_A, H_B, H_C$ are collinear. Now let $P_B = AC \cap l_A$, and $l_B$ meet $BC$ and $AB$ at $J_B$ and $K_B$ respectively, and define $P_C, J_C, K_C$ similarly. As \[ (H_C,X;K_C,J_C) = (P_CH_C,PX;P_BK_C,H_AJ_C)_{\gamma_B} = (P_C,P;P_B,H_A) \]and similarly $(H_B,Y;K_B,J_B) = (P_B,P;P_C,H_A)$, we get $(H_C, CX \cap H_BH_C; H_B, H_A) \overset{C}= (H_C,X;K_C,J_C) = (P_C,P;P_B,H_A) = (K_B,Y;H_B,J_B) \overset{B}= (H_C, BY \cap H_BH_C; H_B, H_A)$, so $BY$ and $CX$ concur on $H_BH_C$. Now Brianchon on $H_CBCH_BYX$ finishes.