Finding the numbers [duplicate]

I found a nice problem. Here is what it says:

Kevin and Peter are given a piece of paper each where they write a number.

Their friend John comes up and takes the two pieces of paper and opens them up to read the numbers on them (he reads them to himself and does not say them out loud). He then goes up to a blackboard nearby and writes down two numbers, one the sum of the numbers written by Kevin and Peter and the other, an arbitrary number.

He then asks Kevin if he knows Peter's number. After some thought, Kevin replies, "No."

Next John asks Peter if he knows Kevin's number, to which Peter, after some thought, says, "No."

John keeps asking them the same question alternatively until, at some point, one of them says that he knows the other person's number and at the same moment, the other person jumps up and says that he knows the latter's number.

How is this possible presuming that there is absolutely no cheating and we assume that Kevin and Peter are very good at math and are deep thinkers.

• I presume Kevin and Peter don't know which of the numbers is the sum and which is arbitrary? (Otherwise it would seem that the arbitrary number has no role to play.) In what sense is the arbitrary number arbitrary? Would the puzzle work no matter which arbitrary number John wrote down? – joriki Feb 28 '16 at 13:39
• Product and Sum is not a duplicate, but a completely different problem. – axil Aug 1 '17 at 14:43