Priyanka and Rubina are having a conversation.

Priyanka: I am definitely not over 30.
Rubina: I am 28 and you are surely 5 years older to me at least.
Priyanka: No, you are at least 29.

You are told that both of them are lying throughout in the conversation. Can you find their respective ages?

We know that both of them were lying in all their statements. Thus we can assume the opposite of what they said:

Priyanka: I am definitely over 30.
Rubina: I am not 28 and you are at most 4 years older to me.
Priyanka: You are at most 28.

Now we can conclude from the first statement that Priyanka is 31 years old at least. From the second and third statement, we can conclude that Rubina is at most 28 years old. Therefore, the possible ages of Priyanka and Rubina can be:

Priyanka: 31, 32, 33, 34, 35, 36...
Rubina: 22, 23, 24, 25, 26, 27...

If we look at the second statement again, we know the difference between their ages is a maximum of 4 years.
Therefore, Priyanka age is 31 years while Rubina age is 27.

Discussion