code: def majorize(values):
      
      sorted_values = sorted(values)
      if len(values) <= 3 or (
              abs(2 * sorted_values[1] - sorted_values[0] - sorted_values[2]) >
              abs(1.5 * (sorted_values[1] - sorted_values[0]))):
          return []
      values_step = sorted_values[1] - sorted_values[0]
      full_range = sorted_values[-1] - sorted_values[0]
      step = 10**int(log10(full_range))
      if step == values_step:
          step *= 10
      step_factor = 10**(int(log10(step)) + 1)
      if round(step * step_factor) % (round(values_step * step_factor) or 1):
          # TODO: Find lower common multiple instead
          step *= values_step
      if full_range <= 2 * step:
          step *= .5
      elif full_range >= 5 * step:
          step *= 5
      major_values = [
          value for value in values if value / step == round(value / step)
      ]
      return [value for value in sorted_values if value in major_values]
docs: Filter sequence to return only major considered numbers