Here is my analysis. I will assume the silence of A or B means nothing. If it did, we'd have to consider that after a reasonably long time if the one mathematician says nothing, the second one could start to draw conclusions from that. So I will assume A and B speak when given the opportunity, and they tell a true statement about their knowledge at that moment. I will assume that A or B would have said so if the mix-up resulted in no solution. If for instance A were given a prime number >100, he would not just say "I know B can not find the numbers". He would say: "WTF? There is no solution!". A is given number a, B is given number b. Step a. On the first day, A assumes he has a product. He says he cannot factor it. His statement shows that there are multiple ways to get this product. More precisely, possible values for value 'a' are the numbers that appear multiple times among the x*y with 1<=x<=y<=100. There are too many to be listed, but for small values, only 1 and primes are excluded. For values >100, some non-primes are also excluded. A number like 111 can only be be 3*37 under the conditions 1<=x<=y<=100. Also, numbers like n*53 with n>1 are excluded because they can only be decomposed as 53 and n. The first values are: 4 6 8 9 10 12 14 15 16 18 20 21 22 24 25 26 27 28 30 32 33 34 35 36 38 39 40 42 44 45 46 48 49 50 51 52 54 55 56 57 58 60 62 63 64 65 66 68 69 70 72 74 75 76 77 78 80 81 82 84 85 86 87 88 90 91 92 93 94 95 96 98 99 100 102 104 105 108 110 112 114 116 117 120 124 126 128 130 132 135 136 138 140 144 147 148 150 152 153 154 156 160 162 164 165 168 170 171 172 174 175 176 180 182 184 186 188 189 190 192 195 196 198 200 204 ... Step b. B states that he knew that. This means that for all (x,y) with x+y=b, he can see that the product x*y is ambiguous. B has a number such that 2<=b<=200 (it is a valid sum) and for every (x,y) with x+y=b, a=x*y is a valid value for A in step a. A computer search gives the following possible values for B in step b: 5 7 9 10 11 13 15 16 17 19 21 23 25 27 29 31 35 37 41 43 45 47 49 53 For instance, if B were given a number >54, he could write his number 53+n where n>1, and could not exclude that A was given number n*53, which A could factor. Since B is 100% sure that A cannot find the numbers, B must be given a number <=54. 54 happens to be impossible also because it can be written 7+47. So the largest possible number for B is 53. Note that B will make wrong assumptions on the possible values of a, x and y. But we have to consider how B would think under the assumption B has the sum and A has the product. At this point it is pointless to list possible values of x and y. It only makes sense to list possible values for a according to A's statement and possible values for b according to B's statement. Step c. C now reveals that in fact A has the sum and B has the product. The valid (x,y) for the scenario so far are the (x,y) such that x+y is a valid product for A in step a and x*y is valid sum for B in step b: (x,y)= (1,5) (1,7) (1,9) (1,11) (1,13) (1,15) (1,17) (1,19) (1,21) (1,23) (1,25) (1,27) (1,29) (1,31) (1,35) (1,37) (1,41) (1,43) (1,45) (1,47) (1,49) (1,53) (2,8) (3,3) (3,5) (3,7) (3,9) (3,15) (4,4) (5,5) (5,7) (5,9) (7,7) Note that this set is known by everybody at the end of the day. (x,y) must have been chosen among these values to be compatible with the story, and any (x,y) in this set results in A and B's statements. This summarizes the first day. For the rest of the problem, we can ignore the mix-up on day one and just assume that (x,y) was chosen from this set instead of the set (1<=x<=y<=100) we started with. Step d. B still doesn't find the numbers. Value b is such that b=x*y is still ambiguous among the remaining (x,y). Here are the possible values for b and the corresponding (x,y): 9: (1,9) (3,3) 15: (1,15) (3,5) 16: (2,8) (4,4) 21: (1,21) (3,7) 25: (1,25) (5,5) 27: (1,27) (3,9) 35: (1,35) (5,7) 45: (1,45) (3,15) (5,9) 49: (1,49) (7,7) Step e. A knows that B cannot find the numbers. For which 'a' is it the case? Value a is such that for all (x,y) from step c with x+y=a, the product b=x*y is also valid in step d. Below are the possible values for a with the corresponding (x,y), and the validity of the sum in step d. 6: (1,5) not ok, (3,3) ok 8: (1,7) not ok, (3,5) ok, (4,4) ok 10: (1,9) ok, (2,8) ok, (3,7) ok, (5,5) ok 12: (1,11) not ok, (3,9) ok, (5,7) ok 14: (1,13) not ok, (5,9) ok, (7,7) ok 16: (1,15) ok 18: (1,17) not ok, (3,15) ok 20: (1,19) not ok 22: (1,21) ok 24: (1,23) not ok 26: (1,25) ok 28: (1,27) ok 30: (1,29) not ok 32: (1,31) not ok 36: (1,35) ok 38: (1,37) not ok 42: (1,41) not ok 44: (1,43) not ok 46: (1,45) ok 48: (1,47) not ok 50: (1,49) ok 54: (1,53) not ok The valid values for 'a' in step e with the corresponding (x,y) are: 10: (1,9) (2,8) (3,7) (5,5) 16: (1,15) 22: (1,21) 26: (1,25) 28: (1,27) 36: (1,35) 46: (1,45) 50: (1,49) Step f. B knows that A knew that B couldn't identify the numbers. Value b must be such that all (x,y) from step c with x*y=b give an a=x*y that is valid in step e above. We can restrict the search to valid products in step e. 9: (1,9) but (3,3) is not valid 15: (1,15) but (3,5) not valid 16: (2,8) but (4,4) not valid 21: (1,21), (3,7) ok 25: (1,25), (5,5) ok 27: (1,27) but (3,9) not valid 35: (1,35) but (5,7) not valid 45: (1,45) but (3,15) and (5,9) not valid 49: (1,49) but (7,7) not valid The possible values for b, (x,y) and 'a' in step f are : 21, (1,21), 22 21, (3,7), 10 25, (1,25), 26 25, (5,5), 10 Step g: A now can identify the 2 numbers A is such that it identifies (x,y). A cannot be 10 because that one is still ambiguous. Remaining values for b, (x,y), a are: 21, (1,21), 22 25, (1,25), 26 Step h: B can now also identify the numbers. This works with both values. 21, (1,21), 22 25, (1,25), 26 So there are 2 solutions: (1,21) and (1,25).