Пусть скорость теплохода х км/ч, значит скорость против течения реки равна (х-2)км/ч, а по течению - (х+2)км/ч;
по условию задачи (х-2)=504/21; х-2=24;
х=24+2=26 км/ч;
значит скорость по течению реки равна 26+2=28 км/ч;
время за которое теплоход пройдёт 504 км по течению реки равно 504/28=18 часов.
Ответ: за 18 часов теплоход пройдёт по течению расстояние 504 км.