1) пусть t (мин) - это искомое время;
пусть х - это скорость лодки (м/мин);
пусть у - это скорость течения (м/мин); шляпа плывет со скоростью течения;
2) скорость лодки против течения равна (х-у) (м/мин);
за 15 мин. против течения лодка проплывет 15*(х-у) (м);
за 15 мин. шляпа проплывет 15*у (м);
3) через 15 мин. расстояние между лодкой и шляпой будет
15*(х-у)+15*у=15*х-15*у+15*у=15*х (м);
4) значит, лодка начала догонять шляпу, когда расстояние между ними было 15*х (м);
скорость лодки по течению (х+у) (м/мин); скорость шляпы у (м/мин);
когда лодка догонит шляпу - лодка проплывет (х+у)*t (м);
шляпа проплывет у*t (м);
5) разница между этими расстояниями равно расстоянию, которое было между ними, до того как лодка начала догонять шляпу, то есть равно 15*х (м);
7) составим уравнение:
(х+у)*t-у*t==15*x;
t*(х+у-у)=15*x;
t*x=15*x;
t=15*x/x=15 (мин);
ответ: 15