#include <bits/stdc++.h>
using namespace ::std;
const int maxn = 1e6 + 500;
const int maxm = 5002;
const int mod = 1e9 + 7;
const int inf = 1e9 + 500;
int a[maxm];
vector<int> b[maxn];
int cnt[maxn];
int kk[maxm * maxm];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  for (int i = 0; i < maxn; i++) {
    b[i].reserve(9);
  }
  for (int i = 1; i < 5002; i++) {
    kk[i * (i - 1) / 2] = 1;
  }
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  sort(a, a + n);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < i; j++) {
      if (b[a[i] - a[j]].size() != 9) b[a[i] - a[j]].push_back(a[i]);
    }
  }
  for (int i = 1; i < maxn; i++) {
    int cn = 0;
    int j;
    for (j = i; j < maxn; j += i) {
      if (b[j].size() > 8) {
        cn = 50;
        break;
      }
      for (int p = 0; p < b[j].size(); p++) {
        cn += kk[++cnt[b[j][p] % i]];
        if (cn > k) {
          break;
        }
      }
    }
    if (cn <= k) {
      cout << i;
      return 0;
    }
    if (j >= maxn) {
      j -= i;
    }
    for (int jj = i; jj <= j; jj += i) {
      for (int p = 0; p < b[jj].size(); p++) {
        cnt[b[jj][p] % i] = 0;
      }
    }
  }
}
