I feel like crying. Given unit vectors a & b and we want quaternion q that rotates a into b then solve the rotation equation:
b = qaq
q = sqrt(ba)
now carry through the derivation. The equation ba* is quaternion speak for compose the magnitudes and find the relative angle and containing plane. Remember how I said that sqrt of unit quaternions and multiply with one conjugated are basic building blocks? These composed together result in zero trig and one square root. Apply the quaternion rotation equation 3 times to (1,0,0), (0,1,0) & (0,0,1) and you have a matrix form that requires zero roots in the unit vector case.
EDIT: Oh and it should be obvious that there are not multiple solutions. The solution is unique.