Пусть v - скорость лодки в стоячей воде, u - скорость течения реки.
Тогда скорость лодки по течению равна v + u, а против течения v - u.
Известно, что время, затраченное на 2 км против течения, равно времени, затраченному на 5 км по течению. Следовательно:
$$\frac{2}{v - u} = \frac{5}{v + u}$$
$$2(v + u) = 5(v - u)$$
$$2v + 2u = 5v - 5u$$
$$3v = 7u$$
$$v = \frac{7}{3}u$$
Известно, что расстояние между городами равно 20 км. Время, затраченное на путь из А в В и обратно, равно 7 ч. Следовательно:
$$\frac{20}{v + u} + \frac{20}{v - u} = 7$$
Подставим v = (7/3)u:
$$\frac{20}{\frac{7}{3}u + u} + \frac{20}{\frac{7}{3}u - u} = 7$$
$$\frac{20}{\frac{10}{3}u} + \frac{20}{\frac{4}{3}u} = 7$$
$$\frac{60}{10u} + \frac{60}{4u} = 7$$
$$\frac{6}{u} + \frac{15}{u} = 7$$
$$\frac{21}{u} = 7$$
$$u = \frac{21}{7} = 3$$
Ответ: Скорость течения реки равна 3 км/ч.