Answer: 2000 yards
Let w be the width of the river, and let a and b be the distances covered by the boats by the time they first pass each other.
The sum of these distances is the width of the river, so
(eq. 1) w = a + b
We're told that the boats first pass 750 yards from one shoreline, which means one of the boats traveled 750 yards. Let's say WLOG that
(eq. 2) a = 750
By the second passing, each boat has covered the width of the river, and turned around. Then together, the boats have covered the width of the river once more, so the sum of the distances they've traveled is three times with width of the river. Since they travel at a constant rate, and together they've gone three times as far as when they first passed, it follows that one of them has traveled a distance of 3a and the other has traveled 3b.
When the boats passed a second time, 250 yards from the "other" shoreline, it follows that the same boat that had traveled 750 yards by their first passing has traveled w+250 yards by the second passing.
(eq. 3) 3a = w + 250
Now we have three equations in three unknowns, so it is a snap to solve them.
w = 2000
a = 750
b = 1250
In general, if the boats pass "c" yards from one shore, then both boats hit the opposite bank and turn around, and they pass again "d" yards from the other shore, then the three equations are:
(eq. 4) w = a + b
(eq. 5) a = c
(eq. 6) 3a = w + d
which have the solution, in terms of c and d,
w = 3c - d
a = c
b = 2c - d