Known-plaintext attack on two-dimensional affine cipher
Your subtracting two known solutions would be one way to eliminate $b$ from the equations and allow you to work only with $A$.

However, you've already been told that $b = (0,0)$, and so we don't need to eliminate it.

Instead, we know that the cipher satisfies the relations (omitting $b$ because that's known to be 0):

$$\begin{gathered}
  A \times \left[ \begin{gathered}
  d \\
  5 \\ 
\end{gathered} \right] = \left[ \begin{gathered}
  7 \\
  4 \\ 
\end{gathered} \right]\end{gathered},
\begin{gathered}
  A \times \left[ \begin{gathered}
  3 \\
  1 \\ 
\end{gathered} \right] = \left[ \begin{gathered}
  d \\
  c \\ 
\end{gathered} \right]\end{gathered}
$$

Where $A$ is a 2x2 array, and all math is done in $GF(16)$.  So, if we replace $A$ with the array $A = \begin{gathered}
  \left( \begin{gathered} x \\ z \end{gathered} \begin{gathered} y \\ w \end{gathered} \right) \end{gathered}$ (where $x, y, z, w$ are unknown values in $GF(16)$, we have:

$$d \cdot x + 5 \cdot y = 7$$

$$d \cdot z + 5 \cdot w = 4$$

$$3 \cdot x + 1 \cdot y = d$$

$$3 \cdot z + 1 \cdot w = c$$

By doing Algebra in $GF(16)$, it's easy to solve these simultaneous equations (hints: remember, $GF(16)$ is a field, and so algebra works there just as you'd expect; you'll need to compute multiplications and inverses in $GF(16)$, if you don't have any tooling on hand to do that, you might find it helpful to whip together a quick program.