Решить системой? Хорошо. Вот вариант:
пусть X - скорость катера, тогда Y - скорость реки. Свяжем их уравнениями:

Поясню второе выражение: 2 часа это общее время движения, оно складывалось из времени движения
1) вниз (vniz) по течению 
2) вверх (vniz) по течению 
Решаем. Видно, что можно из первого высказывания взять 16 для второго высказывания. Получим:






Вспоминаем о нашей сисеме. После преобразований (см. выше) получили:

Вычитая или складывая почленно правые и левые части уравнений системы получим:
2X = 40
-2Y = -8, значит
Х = 20 км/ч, Y=4 км/ч