In that case each population unit should be more productive than the previous one. But this is not the case. It is in fact quite the opposite. And even worsens my initial "problem".
You are looking at the equation all wrong. You are treating everything a purely variable(i.e. each person requires x resources) and that would not be the case. In something like population growth you are going to have large outlays of resources at particular intervals that will not allow a purely linear growth.
For instance, a single family farm will have no issues feeding and growing as long as it remains within a reasonable number so 4, 10, maybe even 30 people could live and grow on just a single farm without much trouble and at those levels it would be a simple variable growth model. Each member requires x amount of food and produces y amount of productivity. Now lets grow that farm to 100, 300, or 1,000 people. Now we have new issues. At this level we can no longer have people pick something whenever they are hungry we need a central depository which requires people to run that depository, people to track the resources, etc. So not only do we have the variable portion that was the same when the population was small, we are adding in these large outlays of resources at set intervals to meet the demand for all of the support services that come with the demands of larger populations and potential new variable strains on those same resources that simply didn't exist when the population was smaller.
So the level model (while surely not totally accurate) may be a pretty good representation of population growth.
0 - 1,000: = x(pop) + 0
1,000 - 6,000 = x(pop) + a
6,000 - 21,000 = x(pop) + a + b + c(pop)
etc.