Пусть \( v \) — собственная скорость теплохода (в км/ч), а \( c \) — скорость течения реки (в км/ч).
Скорость плота равна скорости течения реки: \( v_{плота} = c = 3 \) км/ч.
Скорость теплохода вниз по течению: \( v_{down} = v + c \).
Скорость теплохода вверх по течению: \( v_{up} = v - c \).
Расстояние, которое проплыли путешественники, одинаково как на плоту, так и на теплоходе.
Путь на плоту: \( S = v_{плота} \cdot t_{плота} = 3 \) км/ч \( \cdot 20 \) ч \( = 60 \) км.
Время движения теплохода вверх по течению: \( t_{up} = \frac{S}{v_{up}} \).
Мы знаем, что \( t_{up} = 2 \) часа.
\( 2 = \frac{60}{v - 3} \)
\( 2(v - 3) = 60 \)
\( v - 3 = 30 \)
\( v = 30 + 3 \)
\( v = 33 \) км/ч.
Ответ: 33 км/ч.