public static double[] ComputeTrendline(int[] timeSeries, bool computeOneFuturePoint) {
int n = timeSeries.Length;
sumXY += i * timeSeries[i];
double slope = (n * sumXY - sumX * sumY) / (n * sumXX - sumX * sumX);
double intercept = (sumY - slope * sumX) / n;
int m = computeOneFuturePoint ? n+1 : n;
double[] trendline = new double[m];
trendline[j] = intercept + slope * j;
public static void Main()
int[] scores = {79, 75, 73, 81, 84, 88, 86};
bool computeOneFuturePoint = false;
double[] trendline = ComputeTrendline(scores, computeOneFuturePoint);
Array.ForEach(trendline, Console.WriteLine);