Solution:
(a) This one must have slipped through: 121!
(b) Answer: 16,36,121,484. Suppose the number has more than 2 digits. Write it as (10m+n)10r+s, where 1≤m≤9, 0≤n≤9, 0≤s<10r. Then we have k(m⋅10r+s)=(10m+n)10r+s, for some k>1.
s does not contain the digits 0 or 5, so 5 does not divide s. Hence 5 divides k−1, and so k must be 6, 11, or 16 (if k was 21 or more, then the rhs would be negative). Since 25 does not divide k−1, we must have r=1 and s is a single digit.
We look at each possibility for k in turn. k=6 gives no solutions. k=11 gives about two dozen multiples of 11 from 121 to 891. By inspection the only squares are 121 and 484. k=16 gives 192, which is not a square.
In addition, there is the possibility of 2 digit solutions, which I had overlooked. It is easiest to check each of the 2 digit squares, thus finding the additional solutions 16, 36.