float x[] = { 152, 175, 220, 258, 260, 292, 306, 352, 371, 393, 440, 484 };
float y[] = { 100.6, 201.2, 402, 579, 602.2, 748.4, 796.8, 1005, 1105.4, 1205.8, 1408.8, 1608.2 };
int n = 12;
float sum_x = 0;
float sum_x2 = 0;
float sum_x3 = 0;
float sum_x4 = 0;
float sum_y = 0;
float sum_xy = 0;
float sum_x2y = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
while (!Serial);
for (int i = 0; i < n; i++) {
sum_x += x[i];
sum_x2 += x[i]*x[i];
sum_x3 += x[i]*x[i]*x[i];
sum_x4 += x[i]*x[i]*x[i]*x[i];
sum_y += y[i];
sum_xy += x[i]*y[i];
sum_x2y += x[i]*x[i]*y[i];
}
float delta = n*sum_x2*sum_x4 + sum_x*sum_x*sum_x2 - n*sum_x3*sum_x3 - sum_x*sum_x4 - sum_x2*sum_x2;
float a = (n*sum_x2y*sum_x2 - sum_xy*sum_x2 - sum_x3*sum_y + sum_x3*sum_x2y + sum_xy*sum_x - n*sum_x2*sum_y) / delta;
float b = (n*sum_xy*sum_x4 + sum_x*sum_x3*sum_x2y + sum_x2*sum_x2y*sum_y - sum_x2y*sum_x4 - sum_x*sum_x2y*sum_x2 - n*sum_x2*sum_xy) / delta;
float c = (sum_y*sum_x2*sum_x4 + sum_x*sum_xy*sum_x4 + sum_x2*sum_x3*sum_xy - sum_x3*sum_x2*sum_y - sum_x*sum_x2*sum_x2y - sum_xy*sum_x3*sum_x2) / delta;
Serial.print("a = ");
Serial.println(a);
Serial.print("b = ");
Serial.println(b);
Serial.print("c = ");
Serial.println(c);
}
void loop() {
// put your main code here, to run repeatedly:
}