This is assuming the bare minimum of info on fields. I would try to complete the multiplication table first since there's more given information (i.e. anything times 0 is 0 and 1 is the unit). Then consider the validity of a·a=1. Suppose this is true. Then notice that by adding a to both sides, and using the distributive property, we must have that a+1=0. Likewise 1+a=0 by commutativity. This forces the completion of the multiplication table into 2 cases (using cancellation). One with b·b=1 and one with b·b=a. Suppose b·b=1. Then fill out our addition table with the info we know, i.e. 0 is additive identity and a+1=1+a=0. By cancellation, 1+1 is either a, b, or c. Suppose 1+1=a. Then we can find a+a, b+b, and c+c by using the distributive property and our multiplication table. Notice this forces us into a situation with no compatible addition tables since we will have a repeat in a column or row. So now suppose 1+1=b. The same process yields a contradiction so we suppose 1+1=c. This doesn't work either. So we know that our assumption that b·b=1 was wrong. Therefore, b·b=a. We now have a full multiplication table to reference.
Now we have to consider what 1+1 is again. Using our addition table with a+1=1+a=0, 1+1 is a, b, or c. Let's go in order and try a. Using the same method as before, a doesn't work. Trying 1+1=b yields a nice diagonally symmetric addition table with unique elements in the rows and columns.
Distributivity can be verified now that we have the addition and multiplication tables. It is quite tedious to do so; however, the cases to check can be trimmed down from 5^3=125 to a more manageable number by considering when some elements are 0 or 1 and the properties we have from the tables.