Here is the answer for this puzzle. It's not much complicated as it looks.

Points to Remember: 100 cows, i'th cow gives i litre of milk, 10 sons, division of cows and milk should be equal for every son.

Logic: We can easily solve this puzzle if we calculate the total quantity of milk obtained from all cows, and then find how to share this quantity among 10 persons equally.

1. As there are 100 cows and i'th cow gives i litre of milk, the total litre of milk can be calculated using the arithmetic progression sum=n*(n+1)/2.

2. Total Milk=100(100+1)/2=5050 litres

3. As we should divide cows in a manner that every son gets equal amount of milk, so every son should get 5050/10=505 litres of milk.

4. As every son should get equal number of cows, it is obvious that every son gets 100/10=10 cows each.

5. Now we are done, we have arrived at the solution. You don't believe? Rather being puzzled, just read the below lines.

6. Just divide every 10 cows in a manner that the sum of each set of 10 cows is 505.

7. That is just arrange numbers from 1 to 100 as 10 sets each (1 to 10) in a way that their sum is 505 for each set.