Nice job, VP & CR94. It took me ages decades ago, and was no easier this time around.
Wurlitzer, let P be Pam's present age, and L be Len's present age.
1st equation:
"Pam is twice as old as Len was when Pam was as old as Len is (now)"
P = 2 * (L - [P - L])
P = 2 * (L - P + L)
P = 2 * (2L - P)
P = 4L - 2P
3P = 4L
P = 4/3 L
2nd equation:
"Len is half as old as Pam will be when Len is three years older than Pam is now."
L = 1/2 * (P + [P - L] + 3)
2L = P + P - L + 3
2L = 2P - L + 3
3L = 2P + 3
Now replace P with 4/3 L in the 2nd equation (because we know that P = 4/3 L).
3L = 2(4/3L) +3
3L = 8/3L + 3
9/3L = 8/3L + 3
1/3L = 3
L = 9
Len is 9.
Replace L with 9 in the first equation:
P = 4/3(9) = 12
Pam is 12.
Now check by working out the word problem with Pam's age = 12, and Len's age = 9.
Pam (12) is twice as old as Len (now 9) was when Pam (now 12) was as old as Len is now (9). We know that Len is 3 years younger than Pam, so when Pam was 9, Len must have been 6. Sure enough, Pam now, at 12, is twice as old as Len was then (6).
Does the 2nd part hold as well?
Len (9) is half as old as Pam will be when Len is three years older than Pam is now (12). So when Len is three years older than Pam is now, he'll be 15. At that point Pam, being three years older than Len, will be 18. Pam's age then (18) is twice as old as Len (9) is now.
Phew!