Ответ:

Пусть \(x\) км/ч — собственная скорость теплохода. Тогда скорость теплохода по течению равна \(x+3\) км/ч, а против течения — \(x-3\) км/ч.

Составим уравнение по времени движения:

\[\frac{54}{x+3}+\frac{42}{x-3}=4,\qquad x>3.\]

Умножим уравнение на \((x+3)(x-3)\):

\(54(x-3)+42(x+3)=4(x^2-9)\).

\(54x-162+42x+126=4x^2-36\).

\(96x-36=4x^2-36\), поэтому \(96x=4x^2\).

\(4x(x-24)=0\), откуда \(x=0\) или \(x=24\). Условию \(x>3\) соответствует только \(x=24\).

Проверка: \(54:27=2\) ч, \(42:21=2\) ч; всего \(2+2=4\) ч.

Ответ: 24 км/ч.