I confront my friend, but he claims that the problem can still be solved for the range 2-50. By the time I had gotten the result as seen on the previous page, it was 1 am on a weeknight, and I had to sleep. But now it's an extended weekend, and I've had time to actually do some analysis beyond just brute force. And I think I've proven that the problem really can't be solved if the range is 2-50.
Math not being my strongest suit, and still willing to believe I did something wrong, I turned to my trust advisor google. On the next page you can find some of the sites I found.
Let's assume the two initial numbers were between 2 and 50. Further, let's assume s is 17 and p is 66. If s tells p that s knows p cannot determine the two numbers, then p now knows something about s. 66 can be the product of either 2 and 33, 3 and 22, or 6 and 11. So p already knows that s is either 35, 25, or 17. Because s knows that p cannot determine his number, p can deduce that s is not 25, because 25 can be written as 23+2. 23 and 2 are both prime numbers, so if s were 25, s could not say that p does not know. Likewise, 35 can be written as 31+4. 31*4 is 124. The prime factors of 124 are 31, 2, and 2. So the product 124 could be written as 62*2 or as 31*4. However, we know both numbers are less than 50, so the only possible solution is 31 and 4. So if both numbers are less than 50, then if p has 66 and s knows that p can't solve for the two numbers, then p knows s is 17 and hence knows that the two numbers are 11 and 6. So now s knows that p knows the answer. And s knows the sum is 17. But p could be 52 or 66 (or 70 for that matter). So s cannot himself work out the two numbers. If we increase the range from 2-50 to 2-100, then for the product 66, the sum 35 becomes a valid sum again, because now 124 cannot be uniquely factored (62*2 is now valid). And hence if the product is 66, p would no longer know that the sum must be 17. Hence if the range is 2-100 and p can determine the answer by s has the sum 17. then p can be If p is 66 then the two numbers can be 2*33 3*22 6*11 the equivalent sums are 35, 25, and 17. The sum 25 can be broken down into primes 23 and 2, so p would know that the sum is not