Here is a description of a program that I wrote to solve such problems. It is definitely not optimized.
I start by considering the equalities
\begin{array}{r}
160 &= 160(1) &+& 144(0) &+& 120(0) &+& 75(0) \\
144 &= 160(0) &+& 144(1) &+& 120(0) &+& 75(0) \\
120 &= 160(0) &+& 144(0) &+& 120(1) &+& 75(0) \\
75 &= 160(0) &+& 144(0) &+& 120(0) &+& 75(1) \\
\end{array}
This can be abstracted into the following partitioned array
\begin{array}{r|rrrr}
160 & 1 & 0 & 0 & 0 \\
144 & 0 & 1 & 0 & 0 \\
120 & 0 & 0 & 1 & 0 \\
75 & 0 & 0 & 0 & 1 \\
\end{array}
The important thing to remember is that, at any time, a row $\fbox{n | d c b a}$ represents the equality $n = 160d + 144c + 120b + 75a$.
The "outer loop" of this algorithm assumes that the left column is in descending order.
The first step is to reduce the three upper rows so that the entries in the first column are all less than the bottom left number, $75$. For the first row, we know that
$160 = 2 \times 75 + 10$ so we replace row $1$ ($R1$) with $R1 - 2R4$, getting $\fbox{10 | 1 0 0 -2}$. Negative remainders are allowed if their absolute value is less than the positive remainder. So since $144 = 75(2)-6$, we replace the second row with $R2 - 2R4$, getting $\fbox{-6 | 0 1 0 -2}$. Similarly the third row becomes $R3 - 24$, which is $\fbox{-30 | 0 0 1 -2}$. So we now have
\begin{array}{r|rrrr}
10 & 1 & 0 & 0 & -2 \\
-6 & 0 & 1 & 0 & -2 \\
-30 & 0 & 0 & 1 & -2 \\
75 & 0 & 0 & 0 & 1 \\
\end{array}
Next, we make the substitution $Rk \to -Rk$ for any row with a negative first element and we then sort the array in decreasing order of the first element. We end up with
\begin{array}{r|rrrr}
75 & 0 & 0 & 0 & 1 \\
30 & 0 & 0 & -1 & 2 \\
10 & 1 & 0 & 0 & -2 \\
6 & 0 & -1 & 0 & 2 \\
\end{array}
After the next pass through the loop, we get
\begin{array}{r|rrrr}
3 & 0 & 12 & 0 & -23 \\
0 & 0 & 5 & -1 & -8 \\
-2 & 1 & 2 & 0 & -6 \\
6 & 0 & -1 & 0 & 2 \\
\end{array}
which "sorts" to
\begin{array}{r|rrrr}
6 & 0 & -1 & 0 & 2 \\
3 & 0 & 12 & 0 & -23 \\
2 & -1 & -2 & 0 & 6 \\
0 & 0 & 5 & -1 & -8 \\
\end{array}
The next outer loop will proceed as before except that we will make our adjustments with respect to the third row instead of the fourth row. we finally end up with
\begin{array}{r|rrrr}
1 & 1 & 14 & 0 & -29 \\
0 & -3 & -30 & 0 & 64 \\
0 & 3 & 5 & 0 & -6 \\
0 & 0 & 5 & -1 & -8 \\
\end{array}
The tells is that the general solution is (if I haven't messed up my math)
$(d,c,b,a) = (1, 14 , 0 , -29) + u(-3, -30, 0, 64) + v(3, 5, 0, -6) + w(0, 5, -1, -8)$