a (m/s): vận tốc cano đỏ

b (m/s): vận tốc cano xanh

S (m): chiều dài sông  (điều kiện: a,b,S>0)

Lần gặp đầu tiên:

Cano đỏ đi trong: t1=\(\dfrac{S-650}{a}\) (s)

Cano xanh đi trong: t1=\(\dfrac{650}{b}\) (s)

⇒ \(\dfrac{a}{b}=\dfrac{S-650}{650}\)  (*)

Lần gặp đầu tiên đến lúc gặp lần hai:

Cano đỏ đi trong: t2=\(\dfrac{650+\left(S-150\right)}{a}=\dfrac{S+500}{a}\) (s)

Cano xanh đi trong: t2=\(\dfrac{\left(S-650\right)+150}{b}=\dfrac{S-500}{b}\) (s)

⇒ \(\dfrac{a}{b}=\dfrac{S+500}{S-500}\)   (**)

Từ (*) và (**) suy ra: \(\dfrac{S-650}{650}=\dfrac{S+500}{S-500}\)

⇒ \(S^2-1800S=0\)

⇒ \(\left[{}\begin{matrix}S=0\\S=1800\end{matrix}\right.\). Vì S>0

=> S=1800 (m)

Vậy chiều dài con sông là 1800 m.