Convenhamos que:
X = Idade de Antônio
Y = Idade do amigo
S = X - Y (diferença de idade entre os dois)
"Eu tenho 16 anos a mais do que você tinha na época que eu tinha a idade que você tem"
X era igual a Y há S anos, pois S é a diferença de idade entre os dois.
Há S anos, o amigo tinha Y-S anos de idade. X tem 16 anos a mais do que Y-S.
Y - S + 16 = X
Y - (X - Y) + 16 = X
2X - 2Y = 16
X - Y = 8
Antônio é 8 anos mais velho do que o amigo.
Com essa informação pode-se calcular a idade futura dos dois quando terão juntos 100 anos.
Idade futura de Antônio + Idade futura do Amigo = 100
Idade futura de Antônio + (Idade futura de Antônio - 8 anos) = 100
2 (Idade futura de Antônio ) = 108
Idade futura de Antônio = 54
Idade futura do Amigo = 46
"Quando você tiver 6 anos a mais do que eu tenho, teremos juntos 100 anos."
Ou seja, Antônio tem 40 anos, pois quando o amigo completar 6 anos a mais do que Antônio tem hoje, eles terão juntos 100 anos.
Letra D.
http://rlm101.blogspot.com.br/
Vamos adotar as variáveis: xa, xh, xf para o Antônio com as idades antes, hoje e futuro, respectivamente. E ya, yh e yf para o amigo.
O principal passo para resolver a questão é lembrar que a diferença das idades sempre será a mesma em todos os tempos, assim, xa - ya = xh -yh = xf - yf = T
Primeira frase diz "Eu tenho 16 anos a mais do que você tinha na época que eu tinha a idade que você tem"
Assim,
xh = 16 + ya
xh = 16 + xa -T
A última parte da frase indica que xa = yh, substituindo
xh = 16 + yh - T
xh - yh + T = 16
T + T = 16
T = 8.
Daí, a última parte diz que as idades deles no futuro somadas serão 100, então
xf + yf = 100
8 + 2yf = 100
yf = 46
Mas, para o futuro, ele diz que "Quando você tiver 6 anos a mais do que eu tenho"
Isso quer dizer que yf = 6+xh, então
46 = 6 + xh
xh = 40.