1: Drop
2: Intersection
3: Min
4: Bounds
5: Replicate
6: Double
7: Doubles
8: Unique
9: Table
10: X
Your Answers
LocalStorage is disabled or you are using an old browser. Please register (and log in) to have your solutions saved.
APL Logo

Welcome to the APL Challenge!

The current round (2025.4) ends on Friday 30 January 2026 at 09:00 UTC.

APL is a programming language that will change the way you think about solving problems.

The APL Challenge has been made for those that don’t know APL yet. You don’t need to know any programming either. We’ll teach everything you need to know as you go along.

You don’t need to solve every problem, but every one you do, gives you a chance to win one of three USD 100 prizes. Winners are also listed on our website.

Solving the problems

You can use TryAPL to experiment and find a solution to each problem, then copy it onto the problem page. You can also just write a solution into the input field directly. Either way, you can write APL symbols by clicking on the language bar above the area where you write APL code.

Several problems include some data (text or numbers) you need. You should be able to copy data with an icon like this by clicking on it, but note that not all browsers allow this.

Testing and submitting your solutions

You don't need to register to start (most browsers will store your answers until you register) but you must be registered and logged in to submit your answers. However, you can test your answer using the  Test button.

You can test and submit your answer using the  Submit button. The system will only allow you to submit correct answers.

Prizes

After each round, Dyalog Ltd awards up to three USD 100 prizes.

Anyone can win a prize except Dyalog employees and associates. We reserve the right to choose the winners at our sole discretion and will not enter into conversation about our choices.

All prizes are denominated in U.S. dollars, but can be awarded in U.S. dollars (USD), pounds sterling (GBP) or euros (EUR) by electronic transfer to a bank account or a PayPal account. No other forms of payment will be made.

If you are selected as a winner but are unable or unwilling to accept the prize, you cannot transfer the prize or designate someone else as the winner. Prizes must be claimed within three weeks of being notified or you forfeit the right to that prize.

If you accept a prize, you will be solely responsible for all applicable taxes related to accepting that prize.

Detailed rules

Conditions

Each round stands on its own; participants can enter a single or multiple rounds independently.

All participants must submit to these rules.

Multiple registrations to a single round are not allowed.

Participants must not publish their solutions prior to the end of the challenge round. Doing so will be considered grounds for disqualification from the challenge round.

Only entries that are received by the deadline are eligible. We cannot accept responsibility for entries that are lost, delayed or damaged. Proof of sending an online entry is not proof that we received it.

Entries not submitted in accordance with these terms and all other rules and directions (at the sole discretion of Dyalog Ltd) will be excluded from the challenge round.

Frequently Asked Questions (FAQ)

I’m stuck. Can you help?

In fairness to all, we cannot provide guidance to specific issues. However, everything you need to know should be included either on the page of your current problem or on one of the previous problem pages.

Can I collaborate with my friends?

Yes. However, a submission can only be made by a single person and only that person will be eligible for a prize. Each collaborator can submit an entry.

Why is my correct answer not accepted?

The purpose of the APL Challenge is to teach specific parts of APL, so we require solutions that use the techniques we teach. Most problems can be solved in many ways, and the techniques we teach here do not necessarily lead to the best code. If you want to explore alternative answers, then you can use