How to determine the best way to replace empty records in the dataset?
Replacing missing values with mean, median and mode is feasible when the number of missing data is not small enough. In your cases, only a handful of data are missing. We can use the rest of the data to come up with estimates better than mean, median and mode. Let's see the possible approaches:

Scenario 1: using the reading for breakfast and lunch for day 31, try to find the nearest neighbours in day in terms of breakfast and lunch values. You can use this nearest neighbour day's dinner value as an estimate of the 31st day's dinner. 

Improvement to above approach:

1) Instead of just choosing the single nearest neighbour, you may also use a kNN model.

2) If you have the dates or can figure out the day of the week (like its Sunday, Mon, Tues etc) then instead choosing the nearest neighbour among all the days, you can choose only among the same day of the week. (Nonetheless, you can figure it out by simply subtract or adding 7 to the day you want to find the values of.) Say 31st was a  Sunday, then its likely that the routine would be similar to others Sundays on the data rather than a working day like Monday.

Scenario 2: You can use the values of the same days of the week to estimate the missing values. Simplest ones would be to take a median. A more powerful estimate would be by using a small neural network to estimate the next day's values given the values of the past few days (here, the number of days to consider as input would be a hyperparameter).