#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int a[N];
int ans;
int gca(int a,int b)//求最大公因数
{
return b?gca(b,a%b):a;
}
int main(){
int n;
scanf("%d",&n);
for(int i = 0;i<n;i++) scanf("%d",&a[i]);
sort(a,a+n);//从小到大排序
int d = 0;//和所有整数的约数都是整数的
for(int i = 1;i<n;i++) d = gca(d,a[i]-a[0]);//由每项之间的差相互比较,求的所有项数的最大公约数
if(!d) printf("%d\n",n);如果d = 0,等差数列每个数都相等
else{
printf("%d\n",(a[n-1]-a[0])/d +1);//求最小的项数
}
return 0;
}