Four Number Theorem : Let $a$, $b$, $c$, $d$ be integers such that $ab = cd$.
Let gcd $\,\color{#0a0}{g :=(a,b,c,d)}.\,$ Cancelling $\,g^2\,$ from $\,\color{#c00}{ab=cd}\,$ reduces to the case $\,\color{#0a0}{g = 1}\,$ with solution
$$ \overbrace{\underbrace{(a,c)}_{\textstyle x}\underbrace{(a,d)}_{\textstyle y}}^{\textstyle a}\,\overbrace{\underbrace{(b,c)}_{\textstyle z}\underbrace{(b,d)}_{\textstyle w}}^{\textstyle b}\, =\, \overbrace{\underbrace{(c,a)}_{\textstyle x}\underbrace{(c,b)}_{\textstyle z}}^{\textstyle c} \overbrace{\underbrace{(d,a)}_{\textstyle y}\underbrace{(d,b)}_{\textstyle w}}^{\textstyle d}\qquad$$
by $\ (a,c)(a,d) = (a(a,c,d),\color{#c00}{cd}) = (a(a,c,d),\color{#c00}{ab}) = (a(\color{#0a0}{a,c,d,b})) = a,\,$ and similarly for the other products (by symmetry). See here for more details on on such gcd arithmetic.
Remark $ $ The solution is summarized by the following Shreier refinement matrix
$$\begin{array}{c | c c} &\ \ \ \ c &\ \ \ d\\ \hline a&(a,c) & (a,d)\\ b& (b,c) & (b,d) \end{array}\qquad$$
where the row label is the product of the row elements, e.g. $\, a = (a,c)(a,d)\,$ and the column label is the product of the column elements. Analogous refinement matrices can display the common refinements of any two factorizations of the same element in a UFD or gcd domain, e.g. see this answer, which also explains how this is related to unique factorization and closely related properties.
Here are some cases to consider:
If the products are equal to $0$, WLOG, if $a=0$, then $c$ or $d$ must be $0$.
If $a=0$ and $c=0$, let $x=0$. If $d=0$, then we let $y=0$ and choosing $w$ and $z$ should be easy. If $d\ ne 0$, we let $w=1$ and you can choose your $y$ and $z$ accordingly.
Now consider the cases where the product is non-zero.
$$\frac{a}{c}=\frac{d}{b}=\frac{y}{z}$$ where $y$ and $z$ are chosen to satisfy $\gcd(y,z)=1$. Try to argue how to determine $w$ and $x$ from here.
Firstly note that it is sufficient to prove the theorem when $a,b,c,d,x,y,z,w$ are all natural numbers. For if any of the given numbers is $0$ then the solution tuple $(x,y,z,w)$ is trivial and if there are negatives involved you can look for $x,y,z,w$ for $\lvert a \rvert,\lvert b \rvert, \lvert c \rvert, \lvert d \rvert$ and then adjust for signs.
If $b = 1$ you can take $(x,y,z,w) = (c,d,1,1)$, say the result holds for all $a,b,c,d$ when $1 \leq b < n$ and say $an = cd$ for some $a,c,d$. Let $p$ be a prime divisor of $n$ then $p \vert c$ or $p \vert d$. Say $p \vert c$, then we'll have an equation of the form $am = c'd$ where $n=mp,c=pc'$ and $1 \leq m<n$ so by hypothesis there exists $(r,s,t,u)$ all naturals such that $a = rs, m = tu, c' = rt, d = su$ that gives $n = (pt)u$ and $c = r(pt)$, therefore $ (r,s,pt,u)$ is the tuple corresponding to $an = cd$, similarly one can find the tuple if $p \vert d$. This proves the theorem for natural numbers by induction.