#Factor, 62 bytes

 :: f ( a b -- x ) a b "%s %s" printf a b + a b - f ; recursive

`recursive`, or else the callstack runs out too quickly.