# Find the perfect square!

## 05AB1E, ~~9~~ ~~6~~ 5 bytes

```
LnIÖO
```

Try it online or verify all test cases.

**Previous 9 6 bytes approach:**

```
LR.ΔnÖ
```

-3 bytes thanks to *@ovs*.

Try it online or verify all test cases.

**Explanation:**

```
L # Push a list in the range [1, (implicit) input]
n # Take the square of each value in the list
IÖ # Check which squares are divisible by the input (1 if truthy; 0 if falsey)
O # And sum those checks
# (after which this sum is output implicitly as result)
L # Push a list in the range [1, (implicit) input]
R # Reverse it to [input, 1]
.Δ # Find the first value in this list which is truthy for:
n # Square the current value
Ö # Check if the (implicit) input is evenly divisible by this square
# (after which the found value is output implicitly as result)
```

## Jelly, 5 bytes

```
Ḷ²%ċ0
```

Uses the formula from the OEIS: the number of solutions to $$x^2 \equiv 0 \ (\mathrm{mod} \ n)$$ Explanation:

- implicit input
- range
`0..n-1`

, - square each
- modulo input (I got this part to work via trial and error)
- count zeroes
- implicit print

Try it online!

## Jelly, 6 bytes

```
ÆE:2ÆẸ
```

A monadic Link accepting a positive integer which yields a positive integer.

**Try it online!** Or see the first 100.

### How?

```
ÆE:2ÆẸ - Link: integer, X e.g. 9587193
ÆE - factorisation vector (X) [0,1,0,4,3] (since 2°×3¹×5°×7⁴×11³=9587193)
:2 - integer divide by two [0,0,0,2,1]
ÆẸ - evaluate factorisation vector 539 (since 2°×3°×5°×7²×11¹=539)
```