#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL), cout.tie(NULL);
  long long n;
  cin >> n;
  long long arr[n];
  for (int i = 0; i < n; i++) cin >> arr[i];
  sort(arr, arr + n);
  set<long long> v;
  if (n == 1)
    cout << -1 << "\n";
  else if (n == 2) {
    long long d = arr[1] - arr[0];
    if (d % 2 == 0) v.insert(arr[0] + d / 2);
    v.insert(arr[1] + d);
    v.insert(arr[0] - d);
    cout << (long long)v.size() << "\n";
    for (auto &x : v) cout << x << " ";
    cout << "\n";
  } else {
    set<long long> temp;
    for (int i = 0; i < n - 1; i++) v.insert(arr[i + 1] - arr[i]);
    if ((long long)v.size() == 1) {
      temp.insert(arr[0] - (*v.begin()));
      temp.insert(arr[n - 1] + (*v.begin()));
      cout << (long long)temp.size() << "\n";
      for (auto &x : temp) cout << x << " ";
      cout << "\n";
    } else if ((long long)v.size() == 2) {
      long long count = 0, ans;
      std::vector<long long> d;
      for (auto &x : v) d.push_back(x);
      if (d[1] == 2 * d[0]) {
        for (int i = 0; i < n - 1; i++)
          if (arr[i + 1] - arr[i] == d[1]) {
            ans = arr[i] + d[0];
            count++;
          }
        if (count == 1) {
          cout << 1 << "\n";
          cout << ans << "\n";
        } else
          cout << 0 << "\n";
      } else
        cout << 0 << "\n";
    } else
      cout << 0 << "\n";
  }
  return 0;
}
