It's best not to think too hard about this problem, because you may bring in the heavy machinery of Linear Algebra.
One possibility is to define A = diag ( b / x ), that is, the diagonal matrix such that A(i,i) = b(i) / x(i). This works ... except when it doesn't. It will fail if any entry of x is zero.
For a more general solution, which works as long as at least one entry of x is nonzero, note that x' is row vector which, when post-multiplied by x, returns a number, namely x' * x = ||x||^2, the square of the norm of x. Now think about the rank one matrix formed by b * x'. When this is post-multiplied by x, we get (b * x') * x = b * (x * x') = b * ||x||^2. So the matrix A=b*x'/(x'*x) has the desired property that A*x=b.
Back to The Matrix Multiplication Puzzle.