Here's how I did it. It's a bit unconventional, so looking fwd to better explanations!
Rephrase problem as :
=>xy
* yx
____
zyzx
We also have x(x+z) = y
Start with this info to narrow down possibilities.
1. Since x,y and z are all different non-zero single digit integers, we can infer that y is a multiple of x, and since y cannot be equal to x, it must be 2x, 3x, etc.
2. Since minimum value of y is 2x and maximum value is 9, we can also infer that x < 5 since 2*5 = 10 which violates our single-digit constraint for y.
So this leaves our possible values of x and y as :
x = 1, y = 2,3,...
x = 2, y = 4,6,8
x= 3, y = 6,9
x = 4, y = 8
Now we add our final constraint which is visible from the product. The units digit of the product is "x" so this means that the product of x*y must have a units digit of x.
x= 1 will give units digit of 2,3,... but not 1.
x = 2 gives us a units digit of 2 when y = 6
Test this to see if it satisfies our condition: 26*62 = 1612 => z = 1 which satisfies x(x+z) = y
Pick 26.
~Abhay
Believe those who are seeking the truth. Doubt those who find it. -- Andre Gide