Let the three natural numbers be $(a, b, c)$ such that $a < b < c$
By the pigeonhole principle, at least two of the three numbers must have the same parity.
If $a$ and $b$ have the same parity:
Replace $a$ with the arithmetic mean of $a$ and $b$.
Then, the three numbers in ascending order will be $(\frac{a+b}{2}, b, c)$
The gap between the smallest and largest number decreases by $\frac{b-a}{2} \ge 1$
If $a$ and $c$ have the same parity:
Replace $a$ with the arithmetic mean of $a$ and $c$.
Then, the three numbers in ascending order will be $(\frac{a+c}{2}, b, c)$ or $(b, \frac{a+c}{2}, c)$
The gap between the smallest and largest number decreases by $\frac{c-a}{2} \ge 1$ or $(b-a) \ge 1$
If $b$ and $c$ have the same parity:
Replace $c$ with the arithmetic mean of $b$ and $c$.
Then, the three numbers in ascending order will be $(a, b, \frac{b+c}{2})$
The gap between the smallest and largest number decreases by $\frac{c-b}{2} \ge 1$
$$\\$$
After every step, we rewrite the three numbers in ascending order, and define them as $(a, b, c)$ such that $a < b < c$
Since we always select two numbers with the same parity, the resulting sequence $(a, b, c)$ will still have natural numbers.
The gap between the smallest and largest number decreases by at least $1$ after every step.
Since this gap is finite, it must become less than 2 after a finite number of steps. At this point, we can guarantee that at least two of the numbers must be equal. Note that two numbers might become equal in fewer steps (even before the gap between the smallest and largest number becomes lesser than 2), but that too will occur in a finite number of steps.