# C program to compute linear regression

CServer Side ProgrammingProgramming

## Problem

Write a program to implement linear regression algorithm.

User has to enter total number of values.

## Solution

The solution to compute the linear regression in C programming language is as follows −

Linear regression finds the relationship between two variables by connecting a linear equation to the observed data. One variable is to be an explanatory variable, and the other is a dependent variable.

The logic with regards to linear regression is explained below −

for(i=0;i<n;i++){
printf("enter values of x and y");
scanf("%f%f",&x,&y);
sumx=sumx+x;
sumxsq=sumxsq+(x*x);
sumy=sumy+y;
sumxy=sumxy+(x*y);
}

d=n*sumxsq-sumx*sumx;
m=(n*sumxy-sumx*sumy)/d;
c=(sumy*sumxsq-sumx*sumxy)/d;

Finally, print m and c.

## Example

Following is the C program to compute the linear regression

Live Demo

#include<math.h>
#include<stdio.h>
main(){
int n,i;
float x,y,m,c,d;
float sumx=0,sumxsq=0,sumy=0,sumxy=0;
printf("enter the number of values for n:");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("enter values of x and y");
scanf("%f%f",&x,&y);
sumx=sumx+x;
sumxsq=sumxsq+(x*x);
sumy=sumy+y;
sumxy=sumxy+(x*y);
}
d=n*sumxsq-sumx*sumx;
m=(n*sumxy-sumx*sumy)/d;
c=(sumy*sumxsq-sumx*sumxy)/d;
printf("M=%f\tC=%f\n",m,c);
}

## Output

When the above program is executed, it produces the following result −

enter the number of values for n:5
enter values of x and y1 5
enter values of x and y2 6
enter values of x and y2 4
enter values of x and y3 7
enter values of x and y1 1
M=2.000000 C=1.000000