This would be a lot easier to figure out with simpler data: Put in values for hypothetical foods that are pure fat, pure carbs, or pure protein. Also, because they round the final number of points, we could get more precision by using very large portion sizes. But let me see what I can do with the data we have.
Point values are just added up, right, and you’re supposed to stay under some total per day/week/whatever? And if the plan makes sense, then it should give the same total number of points for two foods separately as for a dish made of those two combined. From that, the formula (neglecting fiber, which I’ve a hunch will be treated separately) should be something of the form afats + bcarbs + c*protein. There are seven foods on that list without fiber; that should be more than enough to figure out a, b, and c.
Let’s start with the simplest food on the list: The can of Coke, with pure carbs. The formula gives 3 points for 27 carbs (I presume that’s grams?), meaning that the value of b should be about 0.11 (or at least, between .093 and .13). Next we have the olive oil, with pure fat. 14 fat gives 4 points, giving an a of approximately .29 (between .25 and .32). Finally, we need a value for c, the protein coefficient. There isn’t any food on the list that’s pure protein. The tuna’s close, but at only 1 point, we’re going to have significant roundoff error, so let’s look at the chicken instead. The 7.6 fat in the chicken should contribute 2.17 points, leaving 2.83 points from the 29.2 protein. That gives us a c of approximately .097 (between .070 and .12).
OK, now, if we did this right, we should be able to use these values to find the number of points for any of the other non-fiber foods on the list. Let’s try the egg. It has 5.0 fat, .6 carbs, and 6.3 protein, so it should have .295.0 + .11.6 + .0976.3 , for a total of 2.13 . And lo and behold, it’s listed as being 2 points. How about the whole milk? That’s 8.0 fats, 12.0 carbs, and 8.0 protein, so it should have .298.0 + .1112.0 + .0978.0 , or 4.416 . That’s a bit off from the 4.0 they list, but still within roundoff error.
Really, one should enter all of those data points into a single calculation and solve for all of the parameters at once, but I’m satisfied that it’s basically right.