In the given problem the trick lies in the fact that the time upto which the food supply would last for 600 passengers is given in weeks and that is 3 weeks. First thing to do is convert the 3 weeks to number of days. Then it would be easy to find the number of days the same food supply would last if the number of passengers increases to 800.
Then
3 week = 21 days
Now
For 600 passengers in the ship the food supply will last for = 21 days
then
For 800 passengers in the ship the food supply will last for = (21/800) * 600
= (21/8) * 6
= 15.75 days
So the food supply for 800 passengers would last for 15.75 days