Adding a calculated column which operates on the totals in the current row is easy: You don't have to do the math yourself, the table can do that for you:
DataTable subjects = new DataTable();
subjects.Columns.Add("Subjects");
subjects.Columns.Add("old", typeof(int));
subjects.Columns.Add("new", typeof(int));
subjects.Columns.Add("diff", typeof(int), "new-old");
subjects.Rows.Add("Sub_1", 50, 60);
subjects.Rows.Add("Sub_2", 100, 46);
But there is no automatic way to generate a totals row AFAIK.
You can do it manually:
subjects.Rows.Add("TOTAL", subjects.Compute("Sum(old)", ""), subjects.Compute("Sum(new)", ""), subjects.Compute("Sum(diff)", ""));
But that won;t update itself automaticaaly - you will have to re-run the Computes each time a cell changes or a row is added / deleted.