If the shopkeeper is selling the 2kg and 3kg both are profits, how does he end up making no profit or loss? Well, he's giving away 1kg packets for free, one for each 3kg packet he gives away. For him to end up making no profit, he needs to make an equivalent loss by giving away the 1kg packets. At this point, we can do the following:
The cost price of rice is proportional to the quantity (this is a reasonable assumption to make here, even though it isn't directly stated).
Let's say a kg of rice costs $1. (Safe to take these values here since we're only interested in ratios and not actual values)
Cost of 1kg packet = $1
Cost of 2kg packet = $2
Cost of 3kg packet = $3
Profit on 3 kg packet is 20%, so the selling price of a 3 kg packet is: $3.6
Profit on 2 kg packet is 25%, so the selling price of a 2 kg packet is: $2.5
In addition, a free 1 kg packet is given with each 3 kg packet. The cost of this 1 kg packet is $1.
(At this point, you can also start plugging in values to see where the cost price = the selling price. )The total cost for 4 kg of rice (3 kg sold and 1 kg free) is $4
And the selling price for this 4kg of rice (3 kg sold and 1 kg free) is $3.6
So now we're making a loss of $0.4 for every 3kg of rice sold, which should be equal to the profit made from selling 2kg of rice.
Let x: number of 2kg packets sold and y: number of 3kg packets sold
0.5x = 0.4y => 5x = 4y => x:y = 4:5 (D)
.