Determining point of intersection in a triangle

E is the easiest point to find, that's just a matter of using polar coordinates. If D is at (0,0), and B is at (90:1) (polar coordinate, angle 90 radius 1), then E is at (140:1).

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections,calc,angles,quotes}

\begin{document}

\begin{tikzpicture}[scale=4]
\coordinate [label=below:$D$] (D) at (0,0);
\coordinate [label=above:$B$] (B) at (90:1);
\coordinate [label=above left:$E$] (E) at (140:1);

% draw invisible, horizontal path from D
\path [overlay,name path=A] (D) -- ++(-20,0);
% draw invisible path through B and E
\path [overlay,name path=B] (B) -- ($(E)!-20cm!(B)$);
% find intersection of above paths, name it A
\path [name intersections={of=A and B, by={A}}] node[left] at (A) {$A$};

% reflect A around D to get C
\coordinate [label=right:$C$] (C) at ($(D)!-1!(A)$);

\draw (A) -- (C) -- (B) -- cycle;
\draw [dashed] (E) -- (D) -- (B);

% draw angles
\pic [draw,angle radius=1cm,angle eccentricity=1.3, "$40^\circ$"] {angle=E--D--A};
\pic [draw,angle radius=1cm,angle eccentricity=1.3, "$x$"] {angle=B--C--D};

\end{tikzpicture}

\end{document}

Here is a TikZ solution without intersections library that use that AD = tan(65°)BD.

\documentclass[tikz, border=7pt]{standalone}
\usetikzlibrary{calc,angles,quotes}

\begin{document}

  \begin{tikzpicture}[scale=2]
    \path
      (0,0) coordinate[label=below:$D$] (D)
      (90:1) coordinate [label=above:$B$] (B)
      (140:1) coordinate [label=above left:$E$] (E)
      (180:{tan(65)}) coordinate [label=below:$A$] (A)
      (0:{tan(65)}) coordinate [label=below:$C$] (C);

    \draw (A) -- (B) -- (C) -- cycle;
    \draw[dashed] (E) -- (D) -- (B);
    \path
      (D) pic[draw, angle eccentricity=1.5,"$40^{\circ}$"]{angle=E--D--A}
      (A) pic[draw, angle eccentricity=1.5,"$x$"]{angle=B--C--A};
  \end{tikzpicture}
\end{document}

enter image description here


A way to do this with MetaPost, for whom it may interest, with the help of the Metafun format for drawing the angles and for labels.

I've tried to parameterize the problem. The coordinates of points B and D, and the value of the desired angle, can be changed at will. Point E is simply built by rotating the point B around point D. The location of point A is found by MetaPost itself by computing the intersection between the straight line (DB) rotated by an angle 90°, and the straight line (BE), through the following instruction:

A = whatever[D, D + (B-D) rotated 90] = whatever[B, E];

I've included the code in a LuaLaTeX program, so that it can be typesetted more easily.

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{siunitx}
\usepackage{luamplib}
    \mplibsetformat{metafun}
    \mplibtextextlabel{enable}
\begin{document}
\begin{mplibcode}
u := 3cm;
alpha := 40;
pair A, B, C, D, E;
D = origin;
B = u*(0, 1);
E = B rotatedaround (D, 90-alpha);
A = whatever[D, D + (B-D) rotated 90] = whatever[B, E];
C = A rotatedaround (D, 180);
beginfig(1);
    draw A -- B -- C -- cycle;
    draw B -- D -- E dashed evenly;
    anglelength := cm;
    drawdblarrow anglebetween (D--A, D--E, "\SI{" & decimal alpha & "}{\degree}");
    anglelength := 1.25cm;
    drawdblarrow anglebetween (C--A, C--B, "$x$");
    anglemethod := 2; anglelength := .2cm;
    draw anglebetween (D--C, D--B, "");
    freelabel("$A$", A, D); freelabel("$B$", B, D); freelabel("$C$", C, D);
    freelabel("$D$", D, B); freelabel("$E$", E, D);
endfig;
\end{mplibcode}
\end{document}

enter image description here