Question 1153247
My first impression of this is that the numbers must be very small. So I try the smallest possible: Carl is 2 years old and Ginger, half his age, is then 1. But - “if Carl were 2 years younger” would make him 0 years old, so I abandon this.
Then I try the next possibility, working only with whole numbers. I set Carl’s age at 4, making Ginger 2. Then “if Carl were 2 years younger” - would make him 2. And if “Ginger were 3 years older” - would make Ginger 5. Voila! The difference is then 3 between their ages.
Answer: Carl is 4, Ginger is 2.

One sometimes shrinks from solving problems in this “dumb” way, i e by trial and error. However, if this produces a correct answer, why not?

A more “mathematical” way of solving this, calling Carl’s age c and Ginger’s age g, gives the two small equations below.
 1: c = 2g
 2: (g+3) - (c-2) = 3
1 and 2: (g+3) - (2g-2) = 3
=> -g + 5 = 3
=> g = 2
1: c = 2*2 = 4

Now, the acute observer will notice that I have “forgotten” another possibility for equation number 2: (c-2) - (g+3) = 3. Plugging in the value for c I get:
(2g-2) - (g+3) = 3
=> g - 5 = 3
=> g = 8
1: c = 2*8 = 16 (!)

This shows that the more “mathematical” way of solving this is better, since it reveals that there are two solutions to the problem.